php

Utilisation de xpath() en PHP

Utilisation de xpath() en PHP
Le document XML est utilisé pour stocker une petite quantité de données, et parfois il est nécessaire de lire le contenu particulier du document XML en fonction de la valeur du chemin à l'aide d'un script PHP. La fonction xpath() est utilisée pour analyser le contenu d'un document XML. Cette fonction peut être utilisée en utilisant simplexml_load_file() fonction ou en créant l'objet de ÉlémentXMLE simple classer. La fonction xpath() peut être utilisée pour lire les valeurs de nœud XML particulières présentées dans ce didacticiel.

Syntaxe:

La syntaxe de la fonction xpath() est donnée ci-dessous.

tableau xpath(string $path)

Cette fonction a un argument qui prend une valeur de chemin, et si le chemin existe dans n'importe quel nœud du document XML, alors la valeur du nœud sera retournée sous forme de tableau. Différentes utilisations de cette fonction ont été expliquées dans la partie suivante de ce tutoriel.

Créer un document XML :

Créez un fichier XML nommé des produits.xml avec le contenu suivant sur l'emplacement où le fichier PHP sera créé pour analyser ce fichier.




MN-56345
DELL
Moniteur Dell 15 pouces
700


HD-34278
SAMSUNG
Disque dur Samsung de 1 To
520


MS-67457
LOGITECH
Souris sans fil Logitech
100


MN-76453
HP
Moniteur HP 14 pouces
750

Utilisation de simplexml_load_file() une fonction:

La fonction xpath() avec l'objet créé par la fonction simplexml_load_file() a été montrée dans cette partie de ce tutoriel.

Exemple-1 : Lire les valeurs de nœud XML particulières

L'exemple suivant montre comment lire le contenu des valeurs de nœud particulières à partir du document XML en définissant le chemin de la fonction xpath(). La variable objet, $xml est créé pour lire les valeurs de nœud spécifiques du des produits.xml déposer. '/PRODUITS/PRODUITS/MARQUE' est utilisé dans le xpath() pour lire toutes les valeurs de nœud BRAND. '/PRODUITS/PRODUITS' est utilisé dans xpath() pour lire toutes les valeurs de nœud enfant de PRODUIT nœuds. pour chaque boucle est utilisée pour imprimer les valeurs de NOM et LE PRIX nœuds.

//Créer un objet pour lire le fichier XML
$xml = simplexml_load_file('produits.xml');
//Rechercher toutes les valeurs de nœud BRAND
$marque = $xml->xpath('/PRODUCTS/PRODUCT/MARQUE');
//Imprime les valeurs du tableau
écho "

La liste des noms de marque sont :

";
foreach($brand as $name)
echo "$nom
";

//Rechercher toutes les valeurs de nœud PRODUCT
$produits = $xml->xpath('/PRODUCTS/PRODUCT');
écho "

La liste du nom du produit et le prix:

";
écho "";
écho "";
//Imprime les valeurs du tableau
foreach($products as $product)
écho "";

écho "
NomPrix
$product->NAME $$produit->PRIX
";
?>

Production:

La sortie suivante apparaîtra après l'exécution du script à partir du serveur.

Exemple-2 : Lire les valeurs de nœud XML particulières en fonction de la condition

L'exemple suivant montre comment lire les valeurs de nœud particulières en fonction de la condition à l'aide de la fonction xpath(). La valeur du chemin, '/PRODUITS/PRODUIT[PRIX > 600]', recherchera les valeurs de tous les nœuds enfants de PRODUIT nœud où la valeur de LE PRIX le nœud est supérieur à 600. pour chaque boucle est utilisée pour imprimer les valeurs de NOM et LE PRIX nœuds.

//Créer un objet pour lire le fichier XML
$xml = simplexml_load_file('produits.xml');
//Rechercher les produits dont la valeur de prix est supérieure à 600
$products = $xml->xpath('/PRODUCTS/PRODUCT[PRICE > 600]');
écho "

La liste du nom du produit et du prix où le prix est supérieur à 600 :

";
écho "";
écho "";
//Imprime les valeurs du tableau
foreach($products as $product)
écho "";

écho "
NomPrix
$product->NAME $$produit->PRIX
";
?>

Production:

La sortie suivante apparaîtra après l'exécution du script à partir du serveur.

Exemple-3 : Lire les valeurs de nœud XML particulières en fonction de l'attribut

L'exemple suivant montre comment lire les valeurs de nœud particulières en fonction des valeurs d'attribut du nœud spécifique du document XML à l'aide de la fonction xpath(). La valeur du chemin, '/PRODUCTS/PRODUCT[@category="Surveiller"]' recherchera les valeurs de tous les nœuds enfants de le produit nœud, où la valeur de l'attribut de catégorie est Surveiller. pour chaque boucle est utilisée pour imprimer les valeurs de MARQUE, et LE PRIX nœuds.

//Créer un objet pour lire le fichier XML
$xml = simplexml_load_file('produits.xml');
//Rechercher les produits dont la valeur de l'attribut çategory est 'Monitor'
$products = $xml->xpath('/PRODUCTS/PRODUCT[@category="Monitor"]');
écho "

La liste de la marque, du nom et du prix du produit en fonction de la catégorie (moniteur) :

";
écho "";
écho "";
//Imprime les valeurs du tableau
foreach($products as $product)
écho "";

écho "
MarqueNomPrix
$product->MARQUE$product->NAME $$produit->PRIX
";
?>

Production:

La sortie suivante apparaîtra après l'exécution du script à partir du serveur.

Utilisation de ÉlémentXMLE simple classer:

Les utilisations de la fonction xpath() en créant l'objet de classe SimpleXMLElement ont été montrées dans cette partie de ce tutoriel.

Exemple-4 : Utilisation de xpath() en définissant du contenu XML dans une variable

L'exemple suivant montre comment lire les valeurs de nœud du document XML déclarées dans une variable au lieu du fichier. Le contenu XML est stocké dans le $xml_data variable. "/clients/client" est utilisé comme valeur d'argument de la fonction xpath() pour lire toutes les valeurs des nœuds enfants du client nœud. Ensuite, un pour chaque boucle est utilisée pour imprimer les valeurs de le nom nœud. "/clients/client[@department='RH']" est utilisé comme valeur d'argument d'une autre fonction xpath() pour lire toutes les valeurs des nœuds enfants du nœud client où la valeur de département l'attribut est HEURE. Suivant, un pour chacun boucle est utilisée pour imprimer les valeurs de la e-mail nœud.

$xml_data = <<

Maryland. Mahbub
[email protégé]


Farhana Zaman
[email protégé]


XML ;
//Définir l'objet pour lire les données XML
$xml = new SimpleXMLElement($xml_data);
//Définir le chemin pour lire toutes les données des clients
$clients = $xml->xpath("/clients/client");
//Imprimer le nom des clients
écho "

La liste des noms de clients :

";
foreach($clients en tant que $client)
echo "$client->nom
";

//Définir le chemin pour lire toutes les données client du service RH
$customers = $xml->xpath("/customers/customer[@department='HR']");
//Imprimer l'email des clients
écho "

L'email du service RH du client :

";
foreach($clients en tant que $client)
echo "$client->email
";

?>

Production:

La sortie suivante apparaîtra après l'exécution du script à partir du serveur.

Conclusion:

Deux manières différentes d'utiliser la fonction xpath() pour lire les valeurs de nœud du document XML en fonction du chemin spécifique ou du chemin avec la condition ou du chemin avec la valeur d'attribut ont été expliquées dans ce didacticiel à l'aide de plusieurs exemples.

Comment afficher le compteur FPS dans les jeux Linux
Les jeux Linux ont reçu une impulsion majeure lorsque Valve a annoncé la prise en charge de Linux pour le client Steam et leurs jeux en 2012. Depuis l...
Comment télécharger et jouer à Civilization VI de Sid Meier sur Linux
Présentation du jeu Civilization 6 est une version moderne du concept classique introduit dans la série de jeux Age of Empires. L'idée était assez sim...
Comment installer et jouer à Doom sur Linux
Introduction à Doom La série Doom est née dans les années 90 après la sortie du Doom original. Ce fut un succès instantané et à partir de ce moment-là...