Python XML Parsing

Python XML Parsing
W tym artykule omówimy sposób parsowania XML w języku programowania Python. Przejdziemy przez kilka przykładów, aby zrozumieć mechanizm parsowania XML w Pythonie.

Co to jest XML?

XML oznacza rozszerzalny język znaczników. XML jest bardzo podobny do HTML. XML służy do przechowywania i przesyłania danych, w których HTML jest używany tylko do wyświetlania danych w przeglądarce. XML pozwala użytkownikowi przechowywać i przesyłać dane w zorganizowany sposób.

Przykładowy plik XML

Użytkownik może zdefiniować własne tagi w pliku XML. W poniższym przykładzie używamy tagu zdefiniowanego przez użytkownika, takiego jak - . Dla każdego znacznika będziemy również musieli mieć znacznik zamykający - . Użytkownik może zdefiniować tyle tagów zdefiniowanych przez użytkownika, ile potrzebują. Oto przykładowy plik XML:











Parsowanie bibliotek w Python

W większości nowoczesnych języków programowania wysokiego poziomu są biblioteki do analizowania danych XML. Istnieje kilka bibliotek do analizowania plików XML w Python:

  1. Minidom
  2. ElementTree

Jednak w tym artykule skupimy się na bibliotece Minidom w celu analizowania danych XML. Minidom to minimalna implementacja interfejsu modelu obiektu dokumentu. Jest bardzo lekki i prostszy niż pełny dom.

Przykład 1
W tym przykładzie najpierw importujemy „XML.Dom.moduł minidom ”. Plik XML, który ma być przeanalizowany tutaj, to - próbka.XML. Plik XML przechowuje podstawowe informacje o imieniu uczniów i nazwa sekcji klasy. Funkcja Parse jest używana na XML Minidom do załadunku i analizowania pliku XML. Zmienna MyDoc zapewnia wynik funkcji Parse. Następnie funkcja drukowania jest używana do wyświetlania nazwy węzła i nazwy znacznika pierwszego dziecka.

Importuj XML.Dom.Minidom
def main ():
# Załaduj i parsuj plik xml
myDoc = xml.Dom.Minidom.parsja („próbka.xml ")
# drukuje nazwa Nodename i nazwa Tagnamild.
Drukuj (myDoc.Nodename)
Drukuj (myDoc.pierworodny.Nazwa znacznika)
Jeśli __name__ == "__main__":
główny()

Przykład 2
W tym przykładzie zobaczymy, jak uzyskać listę tagów XML i wydrukować je. Ogłaszamy zmienną - „stadninę”. Ta zmienna zawiera wszystkich uczniów z studentówData. Pętla dla wszystkich danych z nazwy znacznika „Nazwa”.

Importuj XML.Dom.Minidom
def main ():
# Załaduj i parsuj plik xml
myDoc = xml.Dom.Minidom.parsja („próbka.xml ")
# drukuje nazwa Nodename i nazwa Tagnamild.
Drukuj (myDoc.Nodename)
Drukuj (myDoc.pierworodny.Nazwa znacznika)
# Zdobądź tagi XML
Stud = myDoc.GetElementsBaTagname („Student”)
Drukuj („nie studentów: % d” % stadnina.długość)
dla nazwy w stadnisku:
Nazwa wydruku.getAttribute („Nazwa”))
Jeśli __name__ == "__main__":
główny()

Przykład 3
To kolejny przykład parsowania XML za pomocą biblioteki minidom. W tym przykładzie zobaczymy również, jak utworzyć nowy element XML. Po pierwsze, załadujemy i przeanalizujemy dany plik XML, i.mi., próbka.plik xml ”. Nowy element XML można utworzyć za pomocą funkcji funkcji - createElement (). Po utworzeniu elementu możemy dołączyć go do istniejących elementów XML za pomocą funkcji appendChild ().

Importuj XML.Dom.Minidom
def main ():
# Załaduj i parsuj plik xml
myDoc = xml.Dom.Minidom.parsja („próbka.xml ");
# Drukuj węzeł dokumentu i pierwsza nazwa znacznika dziecięcego
Drukuj (myDoc.Nodename)
Drukuj (myDoc.pierworodny.Nazwa znacznika)
# Pobierz listę tagów XML
StudName = myDoc.GetElementsBaTagname („Student”)
Drukuj („ % d soldname:” % soldname.długość)
Dla Sname in Stuname:
Drukuj (Sname.getAttribute („Nazwa”))
# Dodaj nowe tagi XML
newStudName = myDoc.CreateElement („Student”)
NEWSTUDNAME.setAttribute („Nazwa”, „Paul”)
mydoc.pierworodny.appendchild (newstudName)
Drukuj („”)
# Wydrukuj wszystkie tagi XML
StudName = myDoc.GetElementsBaTagname („Student”)
Drukuj („ % d soldname:” % soldname.długość)
Dla Sname in Stuname:
Drukuj (Sname.getAttribute („Nazwa”))
Jeśli __name__ == "__main__":
główny()

Wniosek

W tym artykule krótko omówiono format pliku XML i sposób parsowania plików XML w Python. Istnieje kilka bibliotek do analizowania plików XML w Python. Ale w tym artykule omówiliśmy tylko bibliotekę Minidom i widziliśmy kilka przykładów, aby przeanalizować pliki XML i dodać nowe elementy XML.