XML (Extensible Markup Language) er en type markeringsspråk som brukes til å lagre dataene i et menneskelig lesbart format. Det er forskjellig fra andre markeringsspråk. Hver tag på dette språket er brukerdefinert. Å bruke XML er den bedre løsningen for å lagre en liten mengde data når du ikke vil bruke noen database for lagring av data. Dataene fra XML -dokumentet kan enkelt nås og brukes i ethvert webapplikasjon ved hjelp av et PHP -skript. Hvordan XML -dokumentet kan analyseres og lagres i et assosiativt utvalg vises i denne opplæringen.
Nødvendige funksjoner
Noen innebygde funksjoner brukes til å konvertere XML-innholdet til en assosiativ PHP-matrise. Formålet med forskjellige funksjoner er forklart nedenfor.
file_get_contents ():
Denne funksjonen returnerer strengdataene ved å konvertere eventuelle XML -data. Det tar ethvert XML -filnavn som et argument.
simplexml_load_string ():
Denne funksjonen returnerer XML -objektet ved å konvertere XML -strengdataene. Det tar XML -strengdata som et argument.
simplexml_load_file ():
Denne funksjonen returnerer XML -objektet ved å konvertere XML -filinnhold. Det tar XML -filnavnet som et argument.
SimplexMlElement ():
Det brukes til å lage et XML -objekt fra XML -data. Det tar XML -innholdsverdien som et argument.
json_encode ():
Den returnerer JSON -objektet ved å konvertere XML -objektet. Det tar XML -objektvariabelen som et argument.
json_decode ():
Den returnerer den assosiative PHP -matrisen ved å konvertere JSON -data. Det tar JSON -objektvariabelen som et argument.
Lag XML -fil
Du vil bli pålagt å opprette en XML -fil eller definere XML -data i skriptet for å vite veien for å konvertere XML -data til en assosiativ PHP -matrise. Opprett en XML -fil som heter Courses.XML med følgende innhold og lagrer det på stedet der PHP -skriptet er. Filen inneholder barneelementer under et foreldreelement. Så en todimensjonal assosiativ matrise vil generere etter å ha konvertert følgende XML-fil til en PHP-matrise.
kurs.XML
Eksempel-1: Konverter XML-filinnhold til et assosiativt utvalg uten å sjekke feil
Følgende skript viser bruken av file_get_contents () og simplexml_load_string () funksjoner for å lage XML -objekt. Her, kursene.XML -fil brukes til konvertering som ble opprettet før. Neste, json_encode () og json_decode () -funksjonen brukes til å få det assosiative matrisen etter å ha konvertert XML -filinnholdet. Hvis det ikke eksisterer feil i XML -innholdet, vil det ikke vises noen feil ved følgende skript. Her, Tag brukes til å skrive ut matrisen på en formatert måte.
";
print_r ($ assarray);
ekko "
Produksjon:
Følgende utgang vises etter å ha utført PHP -skriptet. Her genereres en todimensjonal matrise basert på innholdet i XML-filen, Courses.XML.
Eksempel-2: Konverter XML-filinnhold til et assosiativt utvalg med sjekkfeil
Det er bedre å sjekke feil når du konverterer XML til et assosiativt utvalg. Det vil hjelpe koderen til å feilsøke koden hvis feilkontrollen er implementert i skriptet. Følgende skript viser måtene å konvertere XML -filinnhold til et assosiativt utvalg ved å bruke simplexml_load_file () -funksjon med feilhåndtering. Libxml_use_internal_errors () -funksjonen brukes med ekte verdi for å aktivere feilhåndtering. Hvis XML -filinnholdet som brukes i skriptet inneholder en hvilken. Hvis det ikke eksisterer feil i XML-filen, vil innholdet i filen konvertere riktig til et todimensjonalt assosiativt utvalg.
// Aktiver håndtering av brukerfeil";";
print_r ($ assarr);
ekko "
Produksjon:
Følgende utgang vises etter å ha utført PHP -skriptet. Her eksisterer det ingen feil i XML -filen. Så en todimensjonal matrise har generert som det forrige eksemplet basert på innholdet i XML-filen, kurs.XML.
Eksempel-3: Konverter XML-innhold til et assosiativt utvalg
Følgende skript viser måten å konvertere XML -data til et assosiativt utvalg ved å bruke SimpleXMLElement () -funksjonen. I skriptet lagres XML -innholdet i en variabel med navnet $ XML som brukes som argument for funksjonen, simplexmlelement (). Neste, json_encode () og json_decode () -funksjonen brukes til å få det assosiative matrisen etter å ha konvertert XML -filinnholdet.
// definere XML -variabelen";";
print_r ($ assarray);
ekko "
Produksjon:
Følgende utgang vises etter å ha utført PHP -skriptet. Her genereres en todimensjonal matrise basert på innholdet i XML-variabelen, $ XML.
Konklusjon:
Det var tre forskjellige måter å konvertere XML -innhold til et assosiativt utvalg som ble vist i denne opplæringen. Dette vil hjelpe leserne til å kjenne måten å jobbe med XML -data og analysere dataene fra XML -innholdet ved å bruke et PHP -skript enkelt.