Python XML-Parser-Tutorial: Verwendung der XML-Minidom-Klasse

Blog

Python XML-Parser-Tutorial: Verwendung der XML-Minidom-Klasse

Was ist XML?

XML steht für eXtensible Markup Language. Es wurde entwickelt, um kleine bis mittlere Datenmengen zu speichern und zu transportieren und wird häufig für den Austausch strukturierter Informationen verwendet.

Python ermöglicht Ihnen das Parsen und Ändern von XML-Dokumenten. Um ein XML-Dokument zu parsen, müssen Sie das gesamte XML-Dokument im Speicher haben. In diesem Tutorial werden wir sehen, wie wir die XML-Minidom-Klasse in Python verwenden können, um XML-Dateien zu laden und zu parsen.

In diesem Tutorial lernen wir:

  • So parsen Sie XML mit Minidom
  • So erstellen Sie einen XML-Knoten
  • So analysieren Sie XML mit ElementTree

So parsen Sie XML mit Minidom

Wir haben eine XML-Beispieldatei erstellt, die wir analysieren werden.

Schritt 1) In der Datei können wir Vorname, Nachname, Heimat und Fachgebiet (SQL, Python, Testing und Business) sehen.

Python XML-Parser-Tutorial

Schritt 2) Sobald wir das Dokument geparst haben, drucken wir das Knotenname der Wurzel des Dokuments und der ' Tagname des ersten Kindes' . Tagname und Knotenname sind die Standardeigenschaften der XML-Datei.

Python XML-Parser-Tutorial

golang int64 zu string
  • Importieren Sie das Modul xml.dom.minidom und deklarieren Sie die zu analysierende Datei (myxml.xml).
  • Diese Datei enthält einige grundlegende Informationen über den Mitarbeiter wie Vorname, Nachname, Wohnort, Fachwissen usw.
  • Wir verwenden die Parse-Funktion auf dem XML-Minidom, um die XML-Datei zu laden und zu analysieren
  • Wir haben die Variable doc und doc bekommt das Ergebnis der Parse-Funktion
  • Wir möchten den Knotennamen und den untergeordneten Tagnamen aus der Datei drucken, also deklarieren wir sie in der Druckfunktion
  • Führen Sie den Code aus - Er druckt den Knotennamen (#document) aus der XML-Datei und den ersten untergeordneten Tagnamen (Mitarbeiter) aus der XML-Datei

Notiz :

Nodename und Child-Tagname sind die Standardnamen oder Eigenschaften einer XML-Dom. Falls Sie mit diesen Namenskonventionen nicht vertraut sind.

Schritt 3) Wir können auch die Liste der XML-Tags aus dem XML-Dokument aufrufen und ausdrucken. Hier haben wir die Fähigkeiten wie SQL, Python, Testen und Geschäft.

Python XML-Parser-Tutorial

  • Deklarieren Sie die Variable Expertise, aus der wir die gesamte Expertise des Mitarbeiters extrahieren
  • Verwenden Sie die dom-Standardfunktion namens getElementsByTagName
  • Dadurch erhalten Sie alle Elemente namens Skill
  • Deklariere Schleife über jedes der Skill-Tags
  • Führen Sie den Code aus - Es wird eine Liste mit vier Fähigkeiten angezeigt

So erstellen Sie einen XML-Knoten

Wir können ein neues Attribut erstellen, indem wir die Funktion createElement verwenden und dann dieses neue Attribut oder Tag an die vorhandenen XML-Tags anhängen. Wir haben unserer XML-Datei ein neues Tag BigData hinzugefügt.

  1. Sie müssen codieren, um das neue Attribut (BigData) zum vorhandenen XML-Tag hinzuzufügen
  2. Dann müssen Sie das XML-Tag mit neuen Attributen ausdrucken, die mit dem bestehenden XML-Tag angehängt werden

Python XML-Parser-Tutorial

  • Um ein neues XML hinzuzufügen und es dem Dokument hinzuzufügen, verwenden wir den Code doc.create elements
  • Dieser Code erstellt ein neues Skill-Tag für unser neues Attribut Big-Data
  • Fügen Sie dieses Skill-Tag zum ersten Kind (Mitarbeiter) des Dokuments hinzu.
  • Führen Sie den Code aus – das neue Tag Big Data wird mit der anderen Liste der Kompetenzen angezeigt

XML-Parser-Beispiel

Python 2-Beispiel

import xml.dom.minidom def main(): # use the parse() function to load and parse an XML file doc = xml.dom.minidom.parse('Myxml.xml'); # print out the document node and the name of the first child tag print doc.nodeName print doc.firstChild.tagName # get a list of XML tags from the document and print each one expertise = doc.getElementsByTagName('expertise') print '%d expertise:' % expertise.length for skill in expertise: print skill.getAttribute('name') # create a new XML tag and add it into the document newexpertise = doc.createElement('expertise') newexpertise.setAttribute('name', 'BigData') doc.firstChild.appendChild(newexpertise) print ' ' expertise = doc.getElementsByTagName('expertise') print '%d expertise:' % expertise.length for skill in expertise: print skill.getAttribute('name') if name == '__main__': main();

Python 3-Beispiel

import xml.dom.minidom def main(): # use the parse() function to load and parse an XML file doc = xml.dom.minidom.parse('Myxml.xml'); # print out the document node and the name of the first child tag print (doc.nodeName) print (doc.firstChild.tagName) # get a list of XML tags from the document and print each one expertise = doc.getElementsByTagName('expertise') print ('%d expertise:' % expertise.length) for skill in expertise: print (skill.getAttribute('name')) # create a new XML tag and add it into the document newexpertise = doc.createElement('expertise') newexpertise.setAttribute('name', 'BigData') doc.firstChild.appendChild(newexpertise) print (' ') expertise = doc.getElementsByTagName('expertise') print ('%d expertise:' % expertise.length) for skill in expertise: print (skill.getAttribute('name')) if __name__ == '__main__': main();

So analysieren Sie XML mit ElementTree

ElementTree ist eine API zur Manipulation von XML. ElementTree ist die einfache Möglichkeit, XML-Dateien zu verarbeiten.

Als Beispieldaten verwenden wir das folgende XML-Dokument:

produktivste Programmiersprache
SQL Python

Lesen von XML mit ElementTree:

Wir müssen zuerst das Modul xml.etree.ElementTree importieren.

import xml.etree.ElementTree as ET

Holen wir uns nun das Root-Element:

root = tree.getroot()

Im Folgenden finden Sie den vollständigen Code zum Lesen der obigen XML-Daten

import xml.etree.ElementTree as ET tree = ET.parse('items.xml') root = tree.getroot() # all items data print('Expertise Data:') for elem in root: for subelem in elem: print(subelem.text)

Ausgang:

Expertise Data: SQL Python

Zusammenfassung:

Python ermöglicht es Ihnen, das gesamte XML-Dokument auf einmal zu parsen und nicht nur eine Zeile nach der anderen. Um ein XML-Dokument zu parsen, müssen Sie das gesamte Dokument im Speicher haben.

  • So parsen Sie ein XML-Dokument
  • xml.dom.minidom importieren
  • Verwenden Sie die Funktion parse, um das Dokument zu analysieren ( doc=xml.dom.minidom.parse (Dateiname);
  • Rufen Sie die Liste der XML-Tags aus dem XML-Dokument mit Code auf (=doc.getElementsByTagName( Name der XML-Tags)
  • So erstellen und fügen Sie ein neues Attribut im XML-Dokument hinzu
  • Verwenden Sie die Funktion createElement

#Python

www.guru99.com

Python XML-Parser-Tutorial: Verwendung der XML-Minidom-Klasse

Python ermöglicht Ihnen das Parsen und Ändern von XML-Dokumenten. Um ein XML-Dokument zu parsen, müssen Sie das gesamte XML-Dokument im Speicher haben. In diesem Tutorial werden wir sehen, wie wir die XML-Minidom-Klasse in Python verwenden können, um XML-Dateien zu laden und zu parsen.