php

Xpath () n käyttö PHP ssä

Xpath () n käyttö PHP ssä
XML-asiakirjaa käytetään pienen määrän tietojen tallentamiseen, ja joskus sitä vaaditaan lukemaan XML-asiakirjan tietty sisältö polun arvon perusteella PHP-komentosarjalla. xpath () -funktiota käytetään XML-asiakirjan sisällön jäsentämiseen. Tätä toimintoa voidaan käyttää simplexml_load_file () tai luomalla kohteen SimpleXMLElementti luokassa. Funktiota xpath () voidaan käyttää lukemaan tässä opetusohjelmassa näytetyt tietyt XML-solmuarvot.

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.




MN-56345
DELL
15 tuuman Dell-näyttö
700


HD-34278
SAMSUNG
1 Tt: n Samsung-kiintolevy
520


MS-67457
LOGITECH
Logitechin langaton hiiri
100


MN-76453
HP
14 tuuman HP-näyttö
750

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 "";
kaiku "";
// Tulosta taulukon arvot
foreach ($ tuotetta $ tuotteena)
kaiku "";

kaiku "
NimiHinta
$ 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 "";
kaiku "";
// Tulosta taulukon arvot
foreach ($ tuotetta $ tuotteena)
kaiku "";

kaiku "
NimiHinta
$ 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 "";
kaiku "";
// Tulosta taulukon arvot
foreach ($ tuotetta $ tuotteena)
kaiku "";

kaiku "
BrändiNimiHinta
$ 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 = <<

Md. Mahbub
[sähköposti suojattu]


Farhana Zaman
[sähköposti suojattu]


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ä.

Parhaat pelikonsoliemulaattorit Linuxille
Tässä artikkelissa luetellaan suositut pelikonsolin emulointiohjelmistot, jotka ovat saatavana Linuxille. Emulointi on ohjelmistojen yhteensopivuusker...
Best Linux Distros for Gaming in 2021
The Linux operating system has come a long way from its original, simple, server-based look. This OS has immensely improved in recent years and has no...
Kuinka siepata ja suoratoistaa pelisessiosi Linuxissa
Aikaisemmin pelaamista pidettiin vain harrastuksena, mutta ajan myötä pelialalla tapahtui valtava kasvu tekniikan ja pelaajien määrän suhteen. Peliala...