php

Az xpath () használata a PHP-ben

Az xpath () használata a PHP-ben
Az XML dokumentumot kis mennyiségű adat tárolására használják, és néha szükség van rá, hogy az XML dokumentum adott tartalmát az elérési út értéke alapján olvassa el PHP szkript segítségével. Az xpath () függvény egy XML dokumentum tartalmának elemzésére szolgál. Ez a funkció a simplexml_load_file () függvény vagy az objektum létrehozásával SimpleXMLElement osztály. Az xpath () függvény segítségével leolvashatók az ebben az oktatóanyagban bemutatott XML csomópont értékek.

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.




MN-56345
DELL
15 hüvelykes Dell Monitor
700


HD-34278
SAMSUNG
1 TB Samsung HDD
520


MS-67457
LOGITECH
Logitech vezeték nélküli egér
100


MN-76453
HP
14 hüvelykes HP monitor
750

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 "";
visszhang "";
// Nyomtassa ki a tömb értékeit
foreach ($ termékek $ termékként)
visszhang "";

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 "";
visszhang "";
// Nyomtassa ki a tömb értékeit
foreach ($ termékek $ termékként)
visszhang "";

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 "";
visszhang "";
// Nyomtassa ki a tömb értékeit
foreach ($ termékek $ termékként)
visszhang "";

visszhang "
MárkaNé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 = <<

Md. Mahbub
[e-mail védett]


Farhana Zaman
[e-mail védett]


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.

Az FPS-számláló megjelenítése a Linux-játékokban
A Linux játék komoly lendületet kapott, amikor a Valve 2012-ben bejelentette a Linux támogatását a Steam kliensnek és játékaiknak. Azóta sok AAA és in...
Sid Meier Civilization VI letöltése és lejátszása Linuxon
Bevezetés a játékba A Civilization 6 egy modern felvétel a Age of Empires játékok sorozatában bevezetett klasszikus koncepcióra. Az ötlet meglehetősen...
A Doom telepítése és lejátszása Linuxon
Bevezetés a Doom-ba A Doom sorozat a 90-es években keletkezett az eredeti Doom megjelenése után. Azonnali sláger volt, és ettől kezdve a játéksorozat ...