Süntaks:
Funktsiooni xpath () süntaks on toodud allpool.
massiiv xpath (string $ path)Sellel funktsioonil on üks argument, mis võtab tee väärtuse ja kui tee on olemas XML-dokumendi suvalises sõlmes, tagastatakse sõlme väärtus massiivina. Selle funktsiooni erinevaid kasutusviise on selgitatud selle õpetuse järgmises osas.
XML-dokumendi loomine:
Looge XML-fail nimega tooted.xml järgmise sisuga PHP-faili loomise asukohas selle faili sõelumiseks.
Kasutamine simplexml_load_file () funktsioon:
Funktsiooni xpath () koos funktsiooniga simplexml_load_file () loodud objektiga on näidatud selle õpetuse selles osas.
Näide 1: lugege konkreetseid XML-sõlme väärtusi
Järgmine näide näitab, kuidas konkreetse sõlme väärtuste sisu XML-dokumendist lugeda, määrates funktsiooni tee xpath (). Objekti muutuja, $ xml luuakse konkreetse sõlme väärtuste lugemiseks tooted.xml faili. "/ TOOTED / Toode / kaubamärk" kasutatakse xpath () -is kõigi BRAND-sõlme väärtuste lugemiseks. "/ TOOTED / Toode" kasutatakse failis xpath () kõigi alamsõlme väärtuste lugemiseks TOOTE sõlmed. igaühele silmust kasutatakse väärtuste printimiseks NAME ja HIND sõlmed.
// Loo objekt XML-faili lugemiseks$ xml = simplexml_load_file ('tooted.xml ');
// Otsige kõiki sõlme BRAND väärtusi
$ brand = $ xml-> xpath ('/ PRODUCTS / PRODUCT / BRAND');
// Prindi massiivi väärtused
kaja "
Brändide nimed on järgmised:
";foreach ($ bränd kui $ nimi)
kaja "$ nimi
";
// Otsige kõiki teenuse PRODUCT sõlme väärtusi
$ tooted = $ xml-> xpath ('/ PRODUCTS / PRODUCT');
kaja "
Toote nimetuse ja hinna loetelu:
";kaja "
Nimi | Hind |
---|---|
$ product-> NAME | $$ toode-> PRICE |
?>
Väljund:
Järgmine väljund ilmub pärast skripti käivitamist serverist.
Näide 2: loe tingimuste põhjal konkreetseid XML-sõlme väärtusi
Järgmine näide näitab, kuidas funktsiooni xpath () abil teatud sõlme väärtusi lugeda tingimuse põhjal. Tee väärtus, "/ TOOTED / TOOTE [HIND> 600]", otsib kõigi lapse sõlmede väärtusi TOOTE sõlm, kus väärtus HIND sõlm on üle 600. igaühele silmust kasutatakse väärtuste printimiseks NAME ja HIND sõlmed.
// Loo objekt XML-faili lugemiseks$ xml = simplexml_load_file ('tooted.xml ');
// Otsige tooteid, kus hinnaväärtus on üle 600
$ tooted = $ xml-> xpath ('/ PRODUCTS / PRODUCT [PRICE> 600]');
kaja "
Toote nimetuse ja hinna loetelu, kui hind on üle 600:
";kaja "
Nimi | Hind |
---|---|
$ product-> NAME | $$ toode-> PRICE |
?>
Väljund:
Järgmine väljund ilmub pärast skripti käivitamist serverist.
3. näide: lugege atribuudi põhjal konkreetseid XML-sõlme väärtusi
Järgmine näide näitab, kuidas konkreetseid sõlme väärtusi lugeda XML-dokumendi konkreetse sõlme atribuudiväärtuste põhjal funktsiooni xpath () abil. Tee väärtus, "/ TOOTED / Toode [@ category =" Monitor "]" otsib kõigi lapse sõlmede väärtusi toote sõlm, kus kategooria atribuudi väärtus on Kuvar. igaühele silmust kasutatakse väärtuste printimiseks BRÄNDI NIMI, ja HIND sõlmed.
// Loo objekt XML-faili lugemiseks$ xml = simplexml_load_file ('tooted.xml ');
// Otsige tooteid, kus atribuudi çategory väärtus on „Monitor”
$ tooted = $ xml-> xpath ('/ PRODUCTS / PRODUCT [@ category = "Monitor"]');
kaja "
Toote kaubamärgi, nime ja hinna loend vastavalt kategooriale (Monitor):
";kaja "
Bränd | Nimi | Hind |
---|---|---|
$ toode-> BRÄND | $ product-> NAME | $$ toode-> PRICE |
?>
Väljund:
Järgmine väljund ilmub pärast skripti käivitamist serverist.
Kasutamine SimpleXMLElement klass:
Funktsiooni xpath () kasutusalad klassi objekti SimpleXMLElement loomisel on näidatud selle õpetuse selles osas.
Näide 4: xpath () kasutamine muutuja XML-sisu määratlemisega
Järgmine näide näitab, kuidas faili asemel muutujaga deklareeritud XML-dokumendi sõlme väärtusi lugeda. XML-sisu on salvestatud $ xml_data muutuv. „/ Kliendid / klient” kasutatakse funktsiooni xpath () argumendiväärtusena klient sõlm. Järgmisena a igaühele silmust kasutatakse väärtuste printimiseks nimi sõlm. "/ Customers / customer [@ department = 'HR']" kasutatakse teise xpath () funktsiooni argumendiväärtusena kõigi kliendisõlme alamsõlmede kõigi väärtuste lugemiseks, kus osakond atribuut on HR. Järgmine, a igaühe jaoks silmust kasutatakse printimiseks e-post sõlm.
$ xml_data = <<XML;
// XML-andmete lugemiseks määrake objekt
$ xml = uus SimpleXMLElement ($ xml_data);
// Määrake tee kõigi klientide andmete lugemiseks
$ kliendid = $ xml-> xpath ("/ kliendid / klient");
// Trükkige klientide nimi
kaja "
Kliendinimede loend:
";foreach ($ klienti kui $ klient)
kaja "$ klient-> nimi
";
// Määratlege personaliosakonna kõigi kliendiandmete lugemise tee
$ kliendid = $ xml-> xpath ("/ kliendid / klient [@ department = 'HR']");
// Prindi klientide e-post
kaja "
Kliendi personaliosakonna e-post:
";foreach ($ klienti kui $ klient)
kaja "$ klient-> e-post
";
?>
Väljund:
Järgmine väljund ilmub pärast skripti käivitamist serverist.
Järeldus:
Selles õpetuses on mitme näite abil selgitatud kahte erinevat viisi funktsiooni xpath () kasutamiseks XML-dokumendi sõlme väärtuste lugemiseks konkreetse tee või tingimuse või atribuudi väärtusega tee põhjal.