Szintaxis:
Az xpath () függvény szintaxisa alább látható.
tömb xpath (string $ path)Ennek a függvénynek egy olyan argumentuma van, amely elérési utat vesz fel, és ha az elérési út létezik az XML dokumentum bármely csomópontjában, akkor a csomópont értéke tömbként kerül visszaadásra. A funkció különböző felhasználási módjait ismertetjük az oktatóanyag következő részében.
XML dokumentum létrehozása:
Hozzon létre egy XML fájlt Termékek.xml a következő tartalommal azon a helyen, ahol a PHP fájl létrejön a fájl elemzéséhez.
Használata simplexml_load_file () funkció:
Az xpath () függvény a simplexml_load_file () függvény által létrehozott objektummal az oktatóanyag ezen részében látható.
1. példa: Olvassa el az adott XML csomópont értékeket
A következő példa bemutatja, hogyan olvasható ki az adott csomópontértékek tartalma az XML dokumentumból az xpath () függvény elérési útjának meghatározásával. Az objektum változó, $ xml A fájl létrehozása a Termékek.xml fájl. „/ TERMÉKEK / TERMÉK / MÁRKA” az xpath () -ben az összes BRAND csomópontérték beolvasására szolgál. „/ TERMÉKEK / TERMÉK” az xpath () fájlban a TERMÉK csomópontok. az egyes ciklus segítségével nyomtatja ki a NÉV és ÁR csomópontok.
// Objektum létrehozása az XML fájl olvasásához$ xml = simplexml_load_file ('termékek.xml ');
// Keresés az összes BRAND csomópont értékben
$ brand = $ xml-> xpath ('/ TERMÉKEK / TERMÉK / MÁRKA');
// Nyomtassa ki a tömb értékeit
visszhang "
A márkanevek listája:
";foreach ($ brand mint $ name)
echo "$ name
";
// Keresés az összes PRODUCT csomópont értékben
$ termékek = $ xml-> xpath ('/ TERMÉKEK / TERMÉK');
visszhang "
A termék neve és ára:
";visszhang "
Név | Ár |
---|---|
$ product-> NAME | $$ termék-> PRICE |
?>
Kimenet:
A következő kimenet jelenik meg, miután a parancsfájlt futtatta a szerverről.
2. példa: Olvassa el az adott XML csomópont értékeket a feltétel alapján
A következő példa bemutatja, hogyan olvasható le az adott csomópontérték a feltétel alapján az xpath () függvény segítségével. Az útvonal értéke, „/ TERMÉKEK / TERMÉK [ÁR> 600]”, megkeresi az összes gyermek csomópont értékét TERMÉK csomópont, ahol az értéke ÁR csomópont több mint 600. az egyes ciklus segítségével nyomtatja ki a NÉV és ÁR csomópontok.
// Objektum létrehozása az XML fájl olvasásához$ xml = simplexml_load_file ('termékek.xml ');
// Keressen olyan termékeket, ahol az ár értéke meghaladja a 600-at
$ termékek = $ xml-> xpath ('/ TERMÉKEK / TERMÉK [ÁR> 600]');
visszhang "
A termék megnevezése és ára, ha az ár meghaladja a 600-at:
";visszhang "
Név | Ár |
---|---|
$ product-> NAME | $$ termék-> PRICE |
?>
Kimenet:
A következő kimenet jelenik meg, miután a parancsfájlt futtatta a szerverről.
3. példa: Olvassa el az adott XML csomópont értékeket az attribútum alapján
A következő példa bemutatja, hogyan olvasható le az adott csomópontérték az XML dokumentum specifikus csomópontjának attribútumértékei alapján az xpath () függvény használatával. Az útvonal értéke, "/ TERMÉKEK / TERMÉK [@ category =" Monitor "]" megkeresi az összes gyermek csomópont értékét a termék csomópont, ahol a category attribútum értéke van Monitor. az egyes a ciklus a. értékeinek kinyomtatására szolgál MÁRKANÉV, és ÁR csomópontok.
// Objektum létrehozása az XML fájl olvasásához$ xml = simplexml_load_file ('termékek.xml ');
// Keressen olyan termékeket, amelyeknél a çategory attribútum értéke „Monitor”
$ products = $ xml-> xpath ('/ PRODUCTS / PRODUCT [@ category = "Monitor"]');
visszhang "
A termékmárka, név és ár kategóriák szerinti listája (Monitor):
";visszhang "
Márka | Név | Ár |
---|---|---|
$ termék-> MÁRKA | $ product-> NAME | $$ termék-> PRICE |
?>
Kimenet:
A következő kimenet jelenik meg, miután a parancsfájlt futtatta a szerverről.
Használata SimpleXMLElement osztály:
Az xpath () függvény felhasználása a SimpleXMLElement osztályobjektum létrehozásával megmutatkozott az oktatóanyag ezen részében.
4. példa: Az xpath () használata XML tartalom meghatározásával egy változóban
Az alábbi példa bemutatja, hogyan olvasható az XML dokumentum csomópont értéke, amelyet a fájl helyett egy változóban deklaráltunk. Az XML tartalmat a $ xml_data változó. „/ Customers / customer” az xpath () függvény argumentumértékeként használják az vevő csomópont. Ezután a az egyes a ciklus a. értékeinek kinyomtatására szolgál a név csomópont. „/ Customers / customer [@ osztály = 'HR']” egy másik xpath () függvény argumentumértékeként használja az ügyfél csomópont gyermek csomópontjainak összes értékének beolvasására, ahol az osztály attribútum az HR. Következő, a mindegyikre ciklus segítségével nyomtathatjuk ki a email csomópont.
$ xml_data = <<XML;
// Definiáljon objektumot az XML adatok olvasásához
$ xml = new SimpleXMLElement ($ xml_data);
// Adja meg az összes ügyféladat olvasási útvonalát
$ customers = $ xml-> xpath ("/ customers / customer");
// Nyomtassa ki az ügyfelek nevét
visszhang "
Az ügyfélnevek listája:
";foreach ($ ügyfelek mint $ ügyfél)
echo "$ customer-> name
";
// Adja meg a HR osztály összes ügyféladatának olvasási útvonalát
$ customers = $ xml-> xpath ("/ customers / customer [@ department = 'HR']");
// Nyomtassa ki az ügyfelek e-mail címét
visszhang "
Az ügyfél e-mail címe:
";foreach ($ vásárló, mint $ ügyfél)
echo "$ customer-> email
";
?>
Kimenet:
A következő kimenet jelenik meg, miután a parancsfájlt futtatta a szerverről.
Következtetés:
Az xpath () függvény használatának két különböző módját az XML-dokumentum csomópontértékeinek kiolvasására az adott elérési út, a feltételhez vezető út vagy az attribútumértékkel rendelkező útvonal alapján ismertettük ebben az oktatóanyagban, több példa felhasználásával.