Sintaksa:
Sintaksa funkcije xpath () dana je u nastavku.
niz xpath (niz $ puta)Ova funkcija ima jedan argument koji uzima vrijednost puta, a ako staza postoji u bilo kojem čvoru XML dokumenta, tada će se vrijednost čvora vratiti kao niz. Različite upotrebe ove funkcije objašnjene su u sljedećem dijelu ovog vodiča.
Stvori XML dokument:
Stvorite XML datoteku s imenom proizvoda.xml sa sljedećim sadržajem na mjestu na kojem će se stvoriti PHP datoteka za raščlanjivanje ove datoteke.
Korištenje simplexml_load_file () funkcija:
Funkcija xpath () s objektom stvorenim pomoću funkcije simplexml_load_file () prikazana je u ovom dijelu ovog vodiča.
Primjer-1: Pročitajte određene vrijednosti XML čvora
Sljedeći primjer pokazuje kako čitati sadržaj pojedinih vrijednosti čvora iz XML dokumenta definiranjem putanje funkcije xpath (). Varijabla objekta, $ xml stvoren je za čitanje specifičnih vrijednosti čvora datoteke proizvoda.xml datoteka. '/ PROIZVODI / PROIZVOD / MARKA' koristi se u xpath () za čitanje svih vrijednosti čvora BRAND. '/ PROIZVODI / PROIZVOD' koristi se u xpath () za čitanje svih vrijednosti podređenih čvorova u PROIZVOD čvorovi. za svakoga petlja koristi se za ispis vrijednosti IME i CIJENA čvorovi.
// Stvaranje objekta za čitanje XML datoteke$ xml = simplexml_load_file ('proizvodi.xml ');
// Pretražite sve vrijednosti čvora BRAND
$ brand = $ xml-> xpath ('/ PROIZVODI / PROIZVOD / MARKA');
// Ispis vrijednosti polja
jeka "
Popis imena robnih marki su:
";foreach ($ brand kao $ name)
echo "$ ime
";
// Pretražite sve vrijednosti čvora PRODUCT
$ products = $ xml-> xpath ('/ PROIZVODI / PROIZVOD');
jeka "
Popis naziva i cijene proizvoda:
";jeka "
Ime | Cijena |
---|---|
$ proizvod-> NAZIV | $$ proizvod-> CIJENA |
?>
Izlaz:
Sljedeći će se izlaz pojaviti nakon pokretanja skripte s poslužitelja.
Primjer-2: Pročitajte određene vrijednosti XML čvora na temelju uvjeta
Sljedeći primjer pokazuje kako čitati određene vrijednosti čvora na temelju stanja pomoću funkcije xpath (). Vrijednost puta, '/ PROIZVODI / PROIZVOD [CIJENA> 600]', pretražit će vrijednosti svih podređenih čvorova PROIZVOD čvor gdje je vrijednost CIJENA čvor je veći od 600. za svakoga petlja koristi se za ispis vrijednosti IME i CIJENA čvorovi.
// Stvaranje objekta za čitanje XML datoteke$ xml = simplexml_load_file ('proizvodi.xml ');
// Pretražujte proizvode kod kojih je cijena veća od 600
$ products = $ xml-> xpath ('/ PROIZVODI / PROIZVOD [CIJENA> 600]');
jeka "
Popis naziva i cijene proizvoda kod kojih je cijena veća od 600:
";jeka "
Ime | Cijena |
---|---|
$ proizvod-> NAZIV | $$ proizvod-> CIJENA |
?>
Izlaz:
Sljedeći će se izlaz pojaviti nakon pokretanja skripte s poslužitelja.
Primjer-3: Pročitajte određene vrijednosti XML čvora na temelju atributa
Sljedeći primjer pokazuje kako čitati određene vrijednosti čvora na temelju vrijednosti atributa određenog čvora XML dokumenta pomoću funkcije xpath (). Vrijednost puta, '/ PROIZVODI / PROIZVOD [@ category = ”Monitor”]' pretražit će vrijednosti svih podređenih čvorova proizvod čvor, gdje je vrijednost atributa kategorije Monitor. za svakoga petlja koristi se za ispis vrijednosti MARKA, IME, i CIJENA čvorovi.
// Stvaranje objekta za čitanje XML datoteke$ xml = simplexml_load_file ('proizvodi.xml ');
// Pretražujte proizvode u kojima je vrijednost atributa kategorije 'Monitor'
$ products = $ xml-> xpath ('/ PROIZVODI / PROIZVOD [@ category = "Monitor"]');
jeka "
Popis marke, naziva i cijene proizvoda na temelju kategorije (Monitor):
";jeka "
Marka | Ime | Cijena |
---|---|---|
$ proizvod-> MARKA | $ proizvod-> NAZIV | $$ proizvod-> CIJENA |
?>
Izlaz:
Sljedeći će se izlaz pojaviti nakon pokretanja skripte s poslužitelja.
Korištenje SimpleXMLElement razred:
Upotreba funkcije xpath () stvaranjem objekta klase SimpleXMLElement prikazana je u ovom dijelu ovog vodiča.
Primjer-4: Upotreba xpath () definiranjem XML sadržaja u varijabli
Sljedeći primjer pokazuje kako čitati vrijednosti čvorova XML dokumenta deklarirane u varijabli umjesto u datoteci. XML sadržaj pohranjen je u $ xml_data varijabilna. “/ Kupci / kupac” koristi se kao vrijednost argumenta funkcije xpath () za čitanje svih vrijednosti podređenih čvorova kupac čvor. Dalje, a za svakoga petlja koristi se za ispis vrijednosti Ime čvor. “/ Kupci / kupac [@ odjel = 'HR']” koristi se kao vrijednost argumenta druge funkcije xpath () za čitanje svih vrijednosti podređenih čvorova korisničkog čvora gdje vrijednost odjel atribut je HR. Sljedeći, a za svaku petlja koristi se za ispis vrijednosti e-mail čvor.
$ xml_data = <<XML;
// Definiraj objekt za čitanje XML podataka
$ xml = novi SimpleXMLElement ($ xml_data);
// Definirajte put za čitanje svih podataka o kupcima
$ kupaca = $ xml-> xpath ("/ kupci / kupac");
// Ispis imena kupaca
jeka "
Popis imena kupaca:
";foreach ($ kupci kao $ kupac)
echo "$ kupac-> ime
";
// Definirajte put za čitanje svih podataka o kupcima HR odjela
$ kupci = $ xml-> xpath ("/ kupci / kupac [@ odjel = 'HR']");
// Ispis e-pošte kupaca
jeka "
E-adresa kupca HR odjela:
";foreach ($ kupci kao $ kupac)
echo "$ kupac-> e-pošta
";
?>
Izlaz:
Sljedeći će se izlaz pojaviti nakon pokretanja skripte s poslužitelja.
Zaključak:
Dva različita načina korištenja funkcije xpath () za čitanje vrijednosti čvora XML dokumenta na temelju određene staze ili staze s uvjetom ili staze s vrijednošću atributa objašnjena su u ovom vodiču pomoću više primjera.