Python XML Parsing

Python XML Parsing
In diesem Artikel werden wir diskutieren, wie XML in der Python -Programmiersprache analysiert werden kann. Wir werden mehrere Beispiele durchlaufen, um den XML -Parsing -Mechanismus in Python zu verstehen.

Was ist XML?

XML steht für Extensible Markup -Sprache. XML ist HTML sehr ähnlich. XML wird verwendet, um Daten zu speichern und zu übertragen, wobei HTML verwendet wird, um die Daten im Browser anzuzeigen. Mit XML kann der Benutzer Daten organisiert speichern und übertragen.

Beispiel XML -Datei

Der Benutzer kann seine eigenen Tags in der XML -Datei definieren. Im folgenden Beispiel verwenden wir das benutzerdefinierte Tag wie z. B - . Für jedes Tag müssen wir auch ein Schlussetikett haben - . Der Benutzer kann so viele benutzerdefinierte Tags definieren, wie sie benötigen. Hier ist eine Beispiel -XML -Datei:











Bibliotheken in Python analysieren

Es gibt Bibliotheken, die XML-Daten in den meisten modernen Programmiersprachen auf hoher Ebene analysieren können. Es gibt ein paar Bibliotheken, die XML -Dateien in Python analysieren:

  1. Minidom
  2. ElementTree

In diesem Artikel werden wir uns jedoch auf die Minidombibliothek konzentrieren, um XML -Daten zu analysieren. Minidom ist die minimale Implementierung der Dokumentobjektmodellschnittstelle. Es ist sehr leicht und einfacher als der volle Dom.

Beispiel 1
In diesem Beispiel importieren wir zuerst die „XML.Dom.Minidom ”Modul. Die hier analysierende XML -Datei ist - Beispiel.Xml. Die XML -Datei speichert einige grundlegende Informationen zu Schülern - Schülername und der Abschnittsname der Klasse. Die Parse -Funktion wird am XML -Minidom zum Laden und Analysieren der XML -Datei verwendet. Der variable mydoc erhält das Ergebnis der Parse -Funktion. Dann wird die Druckfunktion verwendet, um den Knotennamen und den Tag -Namen des ersten Kindes anzuzeigen.

XML importieren.Dom.Minidom
Def Main ():
# XML -Datei laden und analysieren
mydoc = xml.Dom.Minidom.analysieren ("Probe.xml ")
# druckt den Knotennamen und den Tagnamen des FirstChilds aus.
Druck (mydoc.Knotenname)
Druck (mydoc.erstes Kind.Verlinke den Namen)
Wenn __name__ == "__main__":
hauptsächlich()

Beispiel 2
In diesem Beispiel werden wir sehen, wie Sie die Liste der XML -Tags erhalten und ausdrucken können. Wir deklarieren die Variable - "Stud". Diese Variable enthält alle Schüler von studentata. Die für Schleife erhält alle Daten mit dem Tag -Namen "Name".

XML importieren.Dom.Minidom
Def Main ():
# XML -Datei laden und analysieren
mydoc = xml.Dom.Minidom.analysieren ("Probe.xml ")
# druckt den Knotennamen und den Tagnamen des FirstChilds aus.
Druck (mydoc.Knotenname)
Druck (mydoc.erstes Kind.Verlinke den Namen)
# Holen Sie sich die XML -Tags
Stud = mydoc.GetElementsByTagName ("Student")
Druck ("Nein der Schüler: % d" % Stud.Länge)
Für den Namen in Stud::
Druck (Name.GetAttribute ("Name"))
Wenn __name__ == "__main__":
hauptsächlich()

Beispiel 3
Dies ist ein weiteres Beispiel für das Parsen von XML mithilfe der Minidombibliothek. In diesem Beispiel werden wir auch sehen, wie Sie ein neues XML -Element erstellen können. Erstens werden wir die angegebene XML -Datei laden und analysieren, ich.e., die Probe.XML ”Datei. Das neue XML -Element kann erstellt werden, indem die Funktion der Funktion - createLement () verwendet wird. Sobald das Element erstellt wurde, können wir es an die vorhandenen XML -Elemente anhängen, indem wir die Funktion appendChild () verwenden.

XML importieren.Dom.Minidom
Def Main ():
# XML -Datei laden und analysieren
mydoc = xml.Dom.Minidom.analysieren ("Probe.xml ");
# Dokumentknoten und erster Kinder -Tag -Name drucken
Druck (mydoc.Knotenname)
Druck (mydoc.erstes Kind.Verlinke den Namen)
# Erhalten Sie die Liste der XML -Tags
studname = mydoc.GetElementsByTagName ("Student")
print (" % d studname:" % studname.Länge)
Für Sname in Studname:
drucken (sname.GetAttribute ("Name"))
# Neue XML -Tags hinzufügen
newstudname = mydoc.CreateLement ("Student")
NewStudname.setAttribute ("Name", "Paul")
mydoc.erstes Kind.appendChild (NewStudname)
drucken (" ")
# Alle XML -Tags drucken
studname = mydoc.GetElementsByTagName ("Student")
print (" % d studname:" % studname.Länge)
Für Sname in Studname:
drucken (sname.GetAttribute ("Name"))
Wenn __name__ == "__main__":
hauptsächlich()

Abschluss

In diesem Artikel wurde kurz das XML -Dateiformat und die Analyse von XML -Dateien in Python erläutert. Es gibt mehrere Bibliotheken, die XML -Dateien in Python analysieren können. In diesem Artikel haben wir jedoch nur die Minidombibliothek behandelt und mehrere Beispiele angezeigt, um XML -Dateien zu analysieren und neue XML -Elemente hinzuzufügen.