Syntaksi:
Xpath () -funktion syntakse on annettu alla.
array xpath (merkkijono $ path)Tällä funktiolla on yksi argumentti, joka ottaa polun arvon, ja jos polku on olemassa missä tahansa XML-asiakirjan solmussa, solmun arvo palautetaan matriisina. Tämän toiminnon eri käyttötavat on selitetty tämän opetusohjelman seuraavassa osassa.
Luo XML-asiakirja:
Luo XML-tiedosto nimeltä Tuotteet.xml seuraavan sisällön kanssa paikassa, johon PHP-tiedosto luodaan tämän tiedoston jäsentämiseksi.
Käyttö simplexml_load_file () toiminto:
Xpath () -funktio ja simplexml_load_file () -funktion luoman objektin kanssa on näytetty tämän opetusohjelman tässä osassa.
Esimerkki 1: Lue tietyt XML-solmuarvot
Seuraava esimerkki näyttää, kuinka tiettyjen solmun arvojen sisältö voidaan lukea XML-dokumentista määrittelemällä funktion polku xpath (). Objektimuuttuja, $ xml luodaan lukemaan tietyt solmun arvot Tuotteet.xml tiedosto. '/ TUOTTEET / TUOTE / MERKKI' käytetään xpath (): ssa kaikkien BRAND-solmuarvojen lukemiseen. '/ TUOTTEET / TUOTE' käytetään xpath (): ssa kaikkien alisolmun arvojen lukemiseen TUOTE solmut. jokaiselle -silmukkaa käytetään tulostamaan arvot NIMI ja HINTA solmut.
// Luo objekti XML-tiedoston lukemiseksi$ xml = simplexml_load_file ('tuotteet.xml ');
// Hae kaikista BRAND-solmuarvoista
$ brand = $ xml-> xpath ('/ TUOTTEET / TUOTE / MERKKI');
// Tulosta taulukon arvot
kaiku "
Luettelo tuotenimistä ovat:
";foreach ($ brand kuten $ name)
echo "$ nimi
";
// Hae kaikista PRODUCT-solmun arvoista
$ tuotteet = $ xml-> xpath ('/ TUOTTEET / TUOTE');
kaiku "
Luettelo tuotenimestä ja hinnasta:
";kaiku "
Nimi | Hinta |
---|---|
$ product-> NAME | $$ tuote-> HINTA |
?>
Tuotos:
Seuraava tulos tulee näkyviin, kun komentosarja on suoritettu palvelimelta.
Esimerkki 2: Lue tietyt XML-solmuarvot ehtojen perusteella
Seuraava esimerkki näyttää, kuinka tietyt solmun arvot luetaan ehdon perusteella käyttämällä xpath () -funktiota. Polun arvo, "/ TUOTTEET / TUOTE [HINTA> 600]", etsii kaikkien TUOTE solmu, jossa arvo HINTA solmu on yli 600. jokaiselle -silmukkaa käytetään tulostamaan NIMI ja HINTA solmut.
// Luo objekti XML-tiedoston lukemiseksi$ xml = simplexml_load_file ('tuotteet.xml ');
// Hae tuotteita, joiden hinta-arvo on yli 600
$ tuotteet = $ xml-> xpath ('/ TUOTTEET / TUOTE [HINTA> 600]');
kaiku "
Luettelo tuotenimestä ja hinnasta, jos hinta on yli 600:
";kaiku "
Nimi | Hinta |
---|---|
$ product-> NAME | $$ tuote-> HINTA |
?>
Tuotos:
Seuraava tulos tulee näkyviin, kun komentosarja on suoritettu palvelimelta.
Esimerkki 3: Lue tietyt XML-solmuarvot määritteen perusteella
Seuraava esimerkki osoittaa, kuinka tietyt solmuarvot luetaan XML-asiakirjan tietyn solmun attribuuttiarvojen perusteella käyttämällä funktiota xpath (). Polun arvo, '/ TUOTTEET / TUOTE [@ category = ”Monitor”]' etsii kaikkien tuote solmu, jossa luokka-attribuutin arvo on Monitori. jokaiselle -silmukkaa käytetään tulostamaan arvot TUOTENIMI, ja HINTA solmut.
// Luo objekti XML-tiedoston lukemiseksi$ xml = simplexml_load_file ('tuotteet.xml ');
// Hae tuotteita, joissa çategory-määritteen arvo on 'Monitor'
$ products = $ xml-> xpath ('/ PRODUCTS / PRODUCT [@ category = "Monitor"]');
kaiku "
Luettelo tuotemerkistä, nimestä ja hinnasta luokan mukaan (näyttö):
";kaiku "
Brändi | Nimi | Hinta |
---|---|---|
$ tuote-> MERKKI | $ product-> NAME | $$ tuote-> HINTA |
?>
Tuotos:
Seuraava tulos tulee näkyviin, kun komentosarja on suoritettu palvelimelta.
Käyttö SimpleXMLElementti luokka:
Xpath () -funktion käyttötarkoitukset luomalla SimpleXMLElement-luokkaobjekti on esitetty tämän opetusohjelman tässä osassa.
Esimerkki 4: xpath (): n käyttö määrittelemällä muuttujan XML-sisältö
Seuraava esimerkki osoittaa, kuinka muuttujassa ilmoitettujen XML-asiakirjan solmuarvot luetaan tiedoston sijaan. XML-sisältö tallennetaan $ xml_data muuttuja. "/ Asiakkaat / asiakas" - funktiota käytetään xpath () - funktion argumenttiarvona kaikkien asiakas solmu. Seuraavaksi a jokaiselle -silmukkaa käytetään tulostamaan arvot nimi solmu. "/ Asiakkaat / asiakas [@ osasto = 'HR']" käytetään toisen xpath () -funktion argumenttiarvona kaikkien asiakassolmun alisolmujen kaikkien arvojen lukemiseen, joissa osasto attribuutti on HR. Seuraava, a jokaiselle -silmukkaa käytetään tulostamaan sähköposti solmu.
$ xml_data = <<XML;
// Määritä objekti XML-tietojen lukemiseksi
$ xml = uusi SimpleXMLElement ($ xml_data);
// Määritä polku kaikkien asiakastietojen lukemiseen
$ asiakkaat = $ xml-> xpath ("/ asiakkaat / asiakas");
// Tulosta asiakkaiden nimi
kaiku "
Luettelo asiakkaiden nimistä:
";foreach ($ asiakasta $ asiakkaana)
echo "$ asiakas-> nimi
";
// Määritä polku kaikkien HR-osaston asiakastietojen lukemiseen
$ asiakkaat = $ xml-> xpath ("/ asiakkaat / asiakas [@ department = 'HR']");
// Tulosta asiakkaiden sähköpostiosoite
kaiku "
Asiakkaan sähköpostiosasto HR-osastolta:
";foreach ($ asiakasta $ asiakkaana)
echo "$ asiakas-> sähköposti
";
?>
Tuotos:
Seuraava tulos tulee näkyviin, kun komentosarja on suoritettu palvelimelta.
Päätelmä:
Kaksi erilaista tapaa käyttää xpath () -toimintoa XML-asiakirjan solmuarvojen lukemiseen tietyn polun tai ehdon kanssa polun tai attribuuttiarvoisen polun perusteella on selitetty tässä opetusohjelmassa käyttämällä useita esimerkkejä.