php

Uso di xpath() in PHP

Uso di xpath() in PHP
Il documento XML viene utilizzato per memorizzare una piccola quantità di dati e talvolta è necessario leggere il particolare contenuto del documento XML in base al valore del percorso utilizzando lo script PHP. La funzione xpath() viene utilizzata per analizzare il contenuto di un documento XML. Questa funzione può essere utilizzata utilizzando simplexml_load_file() funzione o creando l'oggetto di SimpleXMLElement classe. La funzione xpath() può essere utilizzata per leggere i particolari valori del nodo XML mostrati in questo tutorial.

Sintassi:

La sintassi della funzione xpath() è riportata di seguito.

array xpath(string $percorso)

Questa funzione ha un argomento che accetta un valore di percorso e se il percorso esiste in qualsiasi nodo del documento XML, il valore del nodo verrà restituito come un array. Diversi usi di questa funzione sono stati spiegati nella parte successiva di questo tutorial.

Crea documento XML:

Crea un file XML chiamato prodotti.xml con il seguente contenuto sulla posizione in cui verrà creato il file PHP per analizzare questo file.




MN-56345
DELL
Monitor Dell da 15 pollici
700


HD-34278
SAMSUNG
HDD Samsung da 1 TB
520


MS-67457
LOGITECH
Mouse wireless Logitech
100


MN-76453
HP
Monitor HP da 14 pollici
750

Uso di simplexml_load_file() funzione:

La funzione xpath() con l'oggetto creato dalla funzione simplexml_load_file() è mostrata in questa parte di questo tutorial.

Esempio 1: leggere i particolari valori del nodo XML

L'esempio seguente mostra come leggere il contenuto dei particolari valori del nodo dal documento XML definendo il percorso della funzione xpath()(). La variabile oggetto, $xml è creato per leggere i valori del nodo specifico del prodotti.xml file. '/PRODOTTI/PRODOTTO/MARCA' viene utilizzato in xpath() per leggere tutti i valori del nodo BRAND. '/PRODOTTI/PRODOTTO' è usato in xpath() per leggere tutti i valori del nodo figlio di PRODOTTO nodi. per ciascuno loop viene utilizzato per stampare i valori di NOME e PREZZO nodi.

//Crea oggetto per leggere il file XML
$xml = simplexml_load_file('prodotti.xml');
//Cerca tutti i valori dei nodi BRAND
$marca = $xml->xpath('/PRODOTTI/PRODOTTO/MARCA');
//Stampa i valori dell'array
eco "

L'elenco dei marchi sono:

";
foreach($marca come $nome)
echo "$nome
";

//Cerca tutti i valori del nodo PRODUCT
$prodotti = $xml->xpath('/PRODOTTI/PRODOTTO');
eco "

L'elenco del nome del prodotto e del prezzo:

";
eco "";
eco "";
//Stampa i valori dell'array
foreach($prodotti come $prodotto)
eco "";

eco "
NomePrezzo
$prodotto->NOME $$prodotto->PREZZO
";
?>

Produzione:

Il seguente output apparirà dopo aver eseguito lo script dal server.

Esempio 2: leggere i particolari valori del nodo XML in base alla condizione

L'esempio seguente mostra come leggere i particolari valori del nodo in base alla condizione utilizzando la funzione xpath(). Il valore del percorso, '/PRODOTTI/PRODOTTO[PREZZO > 600]', cercherà i valori di tutti i nodi figli di PRODOTTO nodo dove il valore di PREZZO il nodo è più di 600. per ciascuno loop viene utilizzato per stampare i valori di NOME e PREZZO nodi.

//Crea oggetto per leggere il file XML
$xml = simplexml_load_file('prodotti.xml');
//Cerca i prodotti in cui il valore del prezzo è superiore a 600
$products = $xml->xpath('/PRODUCTS/PRODUCT[PREZZO > 600]');
eco "

L'elenco del nome del prodotto e del prezzo in cui il prezzo è superiore a 600:

";
eco "";
eco "";
//Stampa i valori dell'array
foreach($prodotti come $prodotto)
eco "";

eco "
NomePrezzo
$prodotto->NOME $$prodotto->PREZZO
";
?>

Produzione:

Il seguente output apparirà dopo aver eseguito lo script dal server.

Esempio 3: leggere i particolari valori del nodo XML in base all'attributo

L'esempio seguente mostra come leggere i valori del nodo particolari in base ai valori degli attributi del nodo specifico del documento XML utilizzando la funzione xpath(). Il valore del percorso, '/PRODUCTS/PRODUCT[@category=”Monitoraggio”]' cercherà i valori di tutti i nodi figli di il prodotto nodo, dove il valore dell'attributo di categoria è Tenere sotto controllo. per ciascuno loop viene utilizzato per stampare i valori di MARCHIO, e PREZZO nodi.

//Crea oggetto per leggere il file XML
$xml = simplexml_load_file('prodotti.xml');
//Cerca i prodotti in cui il valore dell'attributo çategory è "Monitoraggio"
$products = $xml->xpath('/PRODUCTS/PRODUCT[@category="Monitor"]');
eco "

L'elenco di marca, nome e prezzo del prodotto in base alla categoria (monitor):

";
eco "";
eco "";
//Stampa i valori dell'array
foreach($prodotti come $prodotto)
eco "";

eco "
MarcaNomePrezzo
$prodotto->MARCA$prodotto->NOME $$prodotto->PREZZO
";
?>

Produzione:

Il seguente output apparirà dopo aver eseguito lo script dal server.

Uso di SimpleXMLElement classe:

Gli usi della funzione xpath() creando l'oggetto classe SimpleXMLElement sono mostrati in questa parte di questo tutorial.

Esempio-4: uso di xpath() definendo il contenuto XML in una variabile

L'esempio seguente mostra come leggere i valori del nodo del documento XML dichiarati in una variabile invece che nel file. Il contenuto XML è memorizzato nel $xml_data variabile. “/clienti/cliente” è usato come valore dell'argomento della funzione xpath() per leggere tutti i valori dei nodi figli della cliente nodo. Successivamente, a per ciascuno loop viene utilizzato per stampare i valori di il nome nodo. “/customers/customer[@department='HR']” viene utilizzato come valore dell'argomento di un'altra funzione xpath() per leggere tutti i valori dei nodi figlio del nodo cliente in cui il valore di Dipartimento l'attributo è risorse umane. Il prossimo, una per ciascuno loop viene utilizzato per stampare i valori di e-mail nodo.

$xml_data = <<

Md. Mahbub
[e-mail protetta]


Farhana Zaman
[e-mail protetta]


XML;
//Definisci l'oggetto per leggere i dati XML
$xml = new SimpleXMLElement($xml_data);
//Definisci il percorso per leggere tutti i dati dei clienti
$clienti = $xml->xpath("/clienti/cliente");
//Stampa il nome dei clienti
eco "

L'elenco dei nomi dei clienti:

";
foreach($clienti come $cliente)
echo "$cliente->nome
";

//Definisci il percorso per leggere tutti i dati dei clienti del dipartimento delle risorse umane
$clienti = $xml->xpath("/clienti/cliente[@reparto='HR']");
//Stampa l'e-mail dei clienti
eco "

L'e-mail del cliente del dipartimento delle risorse umane:

";
foreach($clienti come $cliente)
echo "$cliente->email
";

?>

Produzione:

Il seguente output apparirà dopo aver eseguito lo script dal server.

Conclusione:

In questo tutorial sono stati spiegati due diversi modi di usare la funzione xpath() per leggere i valori del nodo del documento XML in base al percorso specifico o al percorso con la condizione o al percorso con il valore dell'attributo utilizzando più esempi.

Tutorial Battaglia per Wesnoth
The Battle for Wesnoth è uno dei giochi di strategia open source più popolari a cui puoi giocare in questo momento. Non solo questo gioco è in svilupp...
0 A.D. Tutorial
Tra i tanti giochi di strategia in circolazione, 0 A.D. riesce a distinguersi come un titolo completo e un gioco molto profondo e tattico nonostante s...
Tutorial Unity3D
Introduzione a Unity 3D Unity 3D è un potente motore di sviluppo di giochi. È multipiattaforma cioè ti permette di creare giochi per mobile, web, desk...