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.
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 "
Ime | Cena |
---|---|
$ 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 "
Ime | Cena |
---|---|
$ 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 "
Blagovna znamka | Ime | Cena |
---|---|---|
$ 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 = <<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.