Python XML -parsing

Python XML -parsing
I denne artikkelen vil vi diskutere hvordan du kan analysere XML på Python -programmeringsspråket. Vi vil gå gjennom flere eksempler for å forstå XML -parsingmekanismen i Python.

Hva er XML?

XML står for utvidbart markeringsspråk. XML ligner veldig på HTML. XML brukes til å lagre og overføre data, der HTML brukes bare til å vise dataene på nettleseren. XML lar brukeren lagre og overføre data på en organisert måte.

Eksempel på XML -fil

Bruker kan definere sine egne tagger i XML -filen. I det følgende eksemplet bruker vi brukerdefinerte tag som - . For hver eneste tag må vi også ha en avsluttende tag - . Bruker kan definere så mange brukerdefinerte tagger som de trenger. Her er en prøve XML -fil:











Analyser biblioteker i Python

Det er biblioteker for å analysere XML-data i de fleste av de moderne programmeringsspråk på høyt nivå. Det er et par biblioteker for å analysere XML -filer i Python:

  1. Minidom
  2. ElementTree

I denne artikkelen vil vi imidlertid fokusere på Minidom -biblioteket for å analysere XML -data. Minidom er den minimale implementeringen av dokumentobjektsmodellgrensesnittet. Det er veldig lett og enklere enn hele DOM.

Eksempel 1
I dette eksemplet importerer vi først “XML.dom.Minidom ”-modul. XML -filen som skal analyseres her er - prøve.XML. XML -filen lagrer noen grunnleggende informasjon om studenter - studentnavn og klasseseksjonsnavnet. Parse -funksjonen brukes på XML Minidom for å laste og analysere XML -filen. Variabelen MyDoc får resultatet av parsefunksjonen. Deretter brukes utskriftsfunksjonen til å vise nodenavnet og tagnavnet til det første barnet.

Importer XML.dom.Minidom
def main ():
# Last og analyser XML -fil
myDOC = XML.dom.Minidom.analyser ("prøve.XML ")
# Skriver ut nodenavnet og tagnavnet til FirstCild.
trykk (MyDoc.Nodenavn)
trykk (MyDoc.første barn.tagname)
if __name__ == "__main__":
hoved()

Eksempel 2
I dette eksemplet vil vi se hvordan du får listen over XML -kodene og skriver dem ut. Vi erklærer variabelen - “Stud”. Denne variabelen holder alle studentene fra StudentsData. For Loop får alle dataene med tagnavnet "Navn".

Importer XML.dom.Minidom
def main ():
# Last og analyser XML -fil
myDOC = XML.dom.Minidom.analyser ("prøve.XML ")
# Skriver ut nodenavnet og tagnavnet til FirstCild.
trykk (MyDoc.Nodenavn)
trykk (MyDoc.første barn.tagname)
# Få XML -kodene
Stud = MyDoc.getElementsByTagName ("Student")
Print ("Ingen studenter: % D" % Stud.lengde)
For navn i stud:
trykk (navn.getAttribute ("navn"))
if __name__ == "__main__":
hoved()

Eksempel 3
Dette er et annet eksempel på XML -analysering ved hjelp av Minidom Library. I dette eksemplet vil vi også se hvordan du lager et nytt XML -element. For det første vil vi laste og analysere den gitte XML -filen, i.e., prøven.XML ”-fil. Det nye XML -elementet kan opprettes ved å bruke funksjonen - CreateElement (). Når elementet er opprettet, kan vi legge det til de eksisterende XML -elementene ved å bruke AppledChild () -funksjonen.

Importer XML.dom.Minidom
def main ():
# Last og analyser XML -fil
myDOC = XML.dom.Minidom.analyser ("prøve.xml ");
# Skriv ut dokumentknute og første barns tagnavn
trykk (MyDoc.Nodenavn)
trykk (MyDoc.første barn.tagname)
# Få listen over XML -kodene
Studname = myDoc.getElementsByTagName ("Student")
print (" % d studname:" % studname.lengde)
For Sname in Studname:
trykk (Sname.getAttribute ("navn"))
# Legg til nye XML -koder
NewStudName = MyDoc.CreateElement ("Student")
NewStudname.setAttribute ("Navn", "Paul")
mydoc.første barn.AppendChild (NewStudname)
skrive ut (" ")
# Skriv ut alle XML -tagger
Studname = myDoc.getElementsByTagName ("Student")
print (" % d studname:" % studname.lengde)
For Sname in Studname:
trykk (Sname.getAttribute ("navn"))
if __name__ == "__main__":
hoved()

Konklusjon

Denne artikkelen diskuterte kort XML -filformatet og hvordan du kan analysere XML -filer i Python. Det er flere biblioteker for å analysere XML -filer i Python. Men i denne artikkelen har vi bare dekket Minidom -biblioteket og ser flere eksempler for å analysere XML -filer og legge til nye XML -elementer.