php

Uporaba xpath () v PHP

Uporaba xpath () v PHP
Dokument XML se uporablja za shranjevanje majhne količine podatkov, včasih pa je treba z uporabo skripta PHP prebrati določeno vsebino dokumenta XML na podlagi vrednosti poti. Funkcija xpath () se uporablja za razčlenitev vsebine dokumenta XML. To funkcijo lahko uporabite z uporabo simplexml_load_file () ali z ustvarjanjem predmeta SimpleXMLElement razred. Funkcijo xpath () lahko uporabite za branje določenih vrednosti vozlišč XML, prikazanih v tej vadnici.

Sintaksa:

Sintaksa funkcije xpath () je podana spodaj.

polje xpath (niz $ pot)

Ta funkcija ima en argument, ki zavzame vrednost poti, in če pot obstaja v katerem koli vozlišču dokumenta XML, bo vrednost vozlišča vrnjena kot matrika. Različne uporabe te funkcije so razložene v naslednjem delu te vadnice.

Ustvari dokument XML:

Ustvarite datoteko XML z imenom izdelkov.xml z naslednjo vsebino na mestu, kjer bo ustvarjena datoteka PHP za razčlenitev te datoteke.




MN-56345
DELL
15-palčni monitor Dell
700


HD-34278
SAMSUNG
1 TB trdi disk Samsung
520


MS-67457
LOGITECH
Logitech brezžična miška
100


MN-76453
HP
14-palčni monitor HP
750

Uporaba simplexml_load_file () funkcija:

Funkcija xpath () z objektom, ustvarjenim s funkcijo simplexml_load_file (), je prikazana v tem delu te vadnice.

Primer-1: Preberite določene vrednosti vozlišča XML

Naslednji primer prikazuje, kako prebrati vsebino določenih vrednosti vozlišč iz dokumenta XML z definiranjem poti funkcije xpath (). Predmetna spremenljivka, $ xml je ustvarjen za branje določenih vrednosti vozlišč izdelkov.xml mapa. '/ IZDELKI / IZDELEK / ZNAMKA' se uporablja v xpath () za branje vseh vrednosti vozlišča BRAND. '/ IZDELKI / IZDELEK' se uporablja v xpath () za branje vseh podrejenih vrednosti vozlišča IZDELEK vozlišča. za vsakogar zanka se uporablja za tiskanje vrednosti NAME in CENA vozlišča.

// Ustvari objekt za branje datoteke XML
$ xml = simplexml_load_file ('izdelki.xml ');
// Iskanje vseh vrednosti vozlišča BRAND
$ blagovna znamka = $ xml-> xpath ('/ IZDELKI / IZDELEK / ZNAMKA');
// Natisnemo vrednosti matrike
odmev "

Seznam blagovnih znamk je:

";
foreach ($ blagovna znamka kot $ ime)
echo "$ ime
";

// Išči po vseh vrednostih vozlišč PRODUCT
$ products = $ xml-> xpath ('/ IZDELKI / IZDELEK');
odmev "

Seznam imena in cene izdelka:

";
odmev "";
odmev "";
// Natisnemo vrednosti matrike
foreach ($ products kot $ product)
odmev "";

odmev "
ImeCena
$ product-> NAME $$ izdelek-> CENA
";
?>

Izhod:

Naslednji izhod se prikaže po zagonu skripta s strežnika.

Primer-2: Preberite določene vrednosti vozlišča XML glede na stanje

Naslednji primer prikazuje, kako prebrati določene vrednosti vozlišča glede na stanje s pomočjo funkcije xpath (). Vrednost poti, '/ IZDELKI / IZDELEK [CENA> 600]', bo poiskal vrednosti vseh podrejenih vozlišč IZDELEK vozlišče, kjer je vrednost CENA vozlišče je več kot 600. za vsakogar zanka se uporablja za tiskanje vrednosti NAME in CENA vozlišča.

// Ustvari objekt za branje datoteke XML
$ xml = simplexml_load_file ('izdelki.xml ');
// Iščite izdelke, pri katerih je vrednost cene več kot 600
$ products = $ xml-> xpath ('/ IZDELKI / IZDELEK [CENA> 600]');
odmev "

Seznam imena in cene izdelka, kjer je cena več kot 600:

";
odmev "";
odmev "";
// Natisnemo vrednosti matrike
foreach ($ products kot $ product)
odmev "";

odmev "
ImeCena
$ product-> NAME $$ izdelek-> CENA
";
?>

Izhod:

Naslednji izhod se prikaže po zagonu skripta s strežnika.

Primer-3: Preberite določene vrednosti vozlišča XML na podlagi atributa

Naslednji primer prikazuje, kako prebrati določene vrednosti vozlišča na podlagi vrednosti atributov določenega vozlišča dokumenta XML s pomočjo funkcije xpath (). Vrednost poti, '/ IZDELKI / IZDELEK [@ category = ”Monitor”]' bo poiskal vrednosti vseh podrejenih vozlišč izdelek vozlišče, kjer je vrednost atributa kategorije Monitor. za vsakogar zanka se uporablja za tiskanje vrednosti BLAGOVNA ZNAMKA, in CENA vozlišča.

// Ustvari objekt za branje datoteke XML
$ xml = simplexml_load_file ('izdelki.xml ');
// Iskanje izdelkov, pri katerih je vrednost atributa kategorije "Monitor"
$ products = $ xml-> xpath ('/ PRODUCTS / PRODUCT [@ category = "Monitor"]');
odmev "

Seznam blagovne znamke, imena in cene izdelka glede na kategorijo (Monitor):

";
odmev "";
odmev "";
// Natisnemo vrednosti matrike
foreach ($ products kot $ product)
odmev "";

odmev "
Blagovna znamkaImeCena
$ izdelek-> ZNAMKA$ product-> NAME $$ izdelek-> CENA
";
?>

Izhod:

Naslednji izhod se prikaže po zagonu skripta s strežnika.

Uporaba SimpleXMLElement razred:

Uporabe funkcije xpath () z ustvarjanjem predmeta razreda SimpleXMLElement so prikazane v tem delu te vadnice.

Primer-4: Uporaba xpath () z definiranjem vsebine XML v spremenljivki

Naslednji primer prikazuje, kako prebrati vrednosti vozlišča dokumenta XML, ki so deklarirane v spremenljivki namesto v datoteki. Vsebina XML je shranjena v $ xml_data spremenljivka. “/ Kupci / kupec” se uporablja kot vrednost argumenta funkcije xpath () za branje vseh vrednosti podrejenih vozlišč funkcije stranko vozlišče. Nato a za vsakogar zanka se uporablja za tiskanje vrednosti ime vozlišče. “/ Kupci / kupec [@ oddelek = 'HR']” se uporablja kot vrednost argumenta druge funkcije xpath () za branje vseh vrednosti podrejenih vozlišč vozlišča stranke, kjer je vrednost oddelek atribut je HR. Naslednji, a za vsakega zanka se uporablja za tiskanje vrednosti E-naslov vozlišče.

$ xml_data = <<

Md. Mahbub
[e-pošta zaščitena]


Farhana Zaman
[e-pošta zaščitena]


XML;
// Določimo objekt za branje podatkov XML
$ xml = nov SimpleXMLElement ($ xml_data);
// Določite pot za branje vseh podatkov o strankah
$ kupcev = $ xml-> xpath ("/ kupci / kupec");
// Natisnite ime strank
odmev "

Seznam imen strank:

";
foreach ($ kupcev kot $ kupec)
echo "$ kupec-> ime
";

// Določite pot za branje vseh podatkov o strankah kadrovske službe
$ kupcev = $ xml-> xpath ("/ kupci / kupec [@ oddelek = 'HR']");
// Natisni e-pošto strank
odmev "

E-poštni naslov stranke oddelka za kadre:

";
foreach ($ kupcev kot $ kupec)
echo "$ kupec-> e-pošta
";

?>

Izhod:

Naslednji izhod se prikaže po zagonu skripta s strežnika.

Zaključek:

V tej vadnici sta bila z uporabo več primerov razložena dva različna načina uporabe funkcije xpath () za branje vrednosti vozlišča dokumenta XML na podlagi določene poti ali poti s pogojem ali poti z vrednostjo atributa.

Kako namestiti in igrati Doom v Linuxu
Uvod v Doom Serija Doom je nastala v devetdesetih letih po izidu prvotnega Dooma. Bil je takojšen hit in od takrat naprej je serija iger prejela števi...
Vulkan za uporabnike Linuxa
Z vsako novo generacijo grafičnih kart vidimo, da razvijalci iger premikajo meje grafične zvestobe in se približujejo fotorealizmu. A kljub vsem kredi...
OpenTTD vs Simutrans
Ustvarjanje lastne simulacije prevoza je lahko zabavno, sproščujoče in izjemno vabljivo. Zato morate preizkusiti čim več iger, da boste našli tisto, k...