Syntaks:
Syntaksen til xpath () -funksjonen er gitt nedenfor.
Array XPath (String $ Path)Denne funksjonen har ett argument som tar en baneverdi, og hvis banen eksisterer i en node i XML -dokumentet, vil verdien av noden bli returnert som en matrise. Ulike bruksområder for denne funksjonen har forklart i neste del av denne opplæringen.
Opprett XML -dokument:
Lag en XML -fil som heter Produkter.XML Med følgende innhold på stedet der PHP -filen vil bli opprettet for å analysere denne filen.
Bruken av simplexml_load_file () funksjon:
Xpath () -funksjonen med objektet opprettet av simplexml_load_file () -funksjonen har vist i denne delen av denne opplæringen.
Eksempel-1: Les de bestemte XML-nodeverdiene
Følgende eksempel viser hvordan du kan lese innholdet i de spesielle nodeverdiene fra XML -dokumentet ved å definere XPath () -funksjonen. Objektvariabelen, $ xml er opprettet for å lese de spesifikke nodeverdiene til Produkter.XML fil. '/Produkter/produkt/merke' brukes i xpath () for å lese alle merkevareverdier. '/Produkter/produkt' brukes i xpath () for å lese alle barneknuteverdier av PRODUKT noder. for hver sløyfe brukes til å skrive ut verdiene til NAVN og PRIS noder.
// Opprett objekt for å lese XML -filenListen over merkenavn er:
";Listen over produktnavn og pris:
";Navn | Pris |
---|---|
$ produkt-> navn | $$ PRODUKT-> Pris |
Produksjon:
Følgende utgang vises etter å ha kjørt skriptet fra serveren.
Eksempel-2: Les de spesielle XML-nodeverdiene basert på tilstanden
Følgende eksempel viser hvordan du kan lese de spesielle nodeverdiene basert på tilstanden ved bruk av xpath () -funksjonen. Baneverdien, '/Produkter/produkt [Pris> 600]', vil søke på verdiene til alle barneknuter av PRODUKT node hvor verdien av PRIS Noden er mer enn 600. for hver sløyfe brukes til å skrive ut verdiene til NAVN og PRIS noder.
// Opprett objekt for å lese XML -filenListen over produktnavn og pris der prisen er mer enn 600:
";Navn | Pris |
---|---|
$ produkt-> navn | $$ PRODUKT-> Pris |
Produksjon:
Følgende utgang vises etter å ha kjørt skriptet fra serveren.
Eksempel-3: Les de spesielle XML-nodeverdiene basert på attributt
Følgende eksempel viser hvordan du kan lese de spesielle nodeverdiene basert på attributtverdiene til XML -dokumentets spesifikke node ved å bruke XPath () -funksjonen. Baneverdien, '/Produkter/produkt [@kategori = ”skjerm”]' vil søke på verdiene til alle barneknuter av produktet Node, der kategoriattributtets verdi er Observere. for hver sløyfe brukes til å skrive ut verdiene til MERKENAVN, og PRIS noder.
// Opprett objekt for å lese XML -filenListen over produktmerke, navn og pris basert på kategori (skjerm):
";Merke | Navn | Pris |
---|---|---|
$ produkt-> merkevare | $ produkt-> navn | $$ PRODUKT-> Pris |
Produksjon:
Følgende utgang vises etter å ha kjørt skriptet fra serveren.
Bruken av Simplexmlelement klasse:
Bruken av xpath () -funksjonen ved å opprette SimplexMlElement Class -objektet har vist i denne delen av denne opplæringen.
Eksempel-4: Bruk av XPath () ved å definere XML-innhold i en variabel
Følgende eksempel viser hvordan du leser XML -dokumentets nodeverdier som er erklært i en variabel i stedet for filen. XML -innhold lagres i $ xml_data variabel. “/Kunder/kunder” brukes som argumentverdi for xpath () -funksjonen for å lese alle verdier av barneknutene til kunde Node. Neste, a for hver sløyfe brukes til å skrive ut verdiene til navnet Node. “/Kunder/kunde [@avdeling = 'hr']" brukes som argumentverdi for en annen xpath () -funksjon for å lese alle verdiene til barneknuter til kundeknute der verdien av avdeling attributt er Hr. NESTE, a for hver sløyfe brukes til å skrive ut verdiene til e -post Node.
$ xml_data = <<Listen over kundenavn:
";Kundens e -post fra HR -avdelingen:
";Produksjon:
Følgende utgang vises etter å ha kjørt skriptet fra serveren.
Konklusjon:
To forskjellige måter å bruke XPath () -funksjonen for å lese XML -dokumentets nodeverdier basert på den spesifikke banen eller banen med tilstanden eller banen med attributtverdien er forklart i denne opplæringen ved å bruke flere eksempler.