
Python XML Parsing: Ein umfassender Leitfaden
XML (Extensible Markup Language) ist eine beliebte Sprache zum Speichern und Übertragen von Daten. Python bietet mehrere Bibliotheken zum Parsen von XML. In dieser Anleitung stellen wir Ihnen zwei integrierte Python-Bibliotheken zum Parsen von XML vor: xml.dom.minidom und xml.etree.ElementTree.
Schritt 1: XML-Parsing mit xml.dom.minidom
Mit der Bibliothek xml.dom.minidom können Sie XML-Dokumente mit Python analysieren. Um eine XML-Zeichenfolge zu analysieren, verwenden Sie die Methode parseString:
from xml.dom.minidom import parseString
xml_string = """
<library>
<book>
<title>The Great Gatsby</title>
<author>F. Scott Fitzgerald</author>
<year>1925</year>
</book>
</library>
"""
document = parseString(xml_string)
print(document.getElementsByTagName("title")[0].firstChild.nodeValue)
Im obigen Code analysieren wir die XML-Zeichenfolge und extrahieren den Buchtitel.
Schritt 2: XML-Parsing mit xml.etree.ElementTree
Die Bibliothek xml.etree.ElementTree (ET) bietet eine pythonartigere Möglichkeit zum Parsen von XML. Um einen XML-String zu parsen, verwenden Sie die Methode fromstring:
import xml.etree.ElementTree as ET
xml_string = """
<library>
<book>
<title>The Great Gatsby</title>
<author>F. Scott Fitzgerald</author>
<year>1925</year>
</book>
</library>
"""
root = ET.fromstring(xml_string)
for child in root.iter():
if child.text.strip():
print(child.text)
Im obigen Code analysieren wir die XML-Zeichenfolge und drucken den Text jedes Elements.
Schritt 3: XML-Dateien parsen
Sowohl Minidom als auch ElementTree können XML aus Dateien mit der Parse-Methode analysieren:
# Using minidom
from xml.dom.minidom import parse
document = parse("sample.xml")
print(document.getElementsByTagName("title")[0].firstChild.nodeValue)
# Using ElementTree
import xml.etree.ElementTree as ET
root = ET.parse("sample.xml")
for child in root.iter():
if child.text.strip():
print(child.text)
Der obige Code zeigt, wie eine XML-Datei analysiert und einige Elemente gedruckt werden.
Schritt 4: XML-Daten in einer CSV-Datei speichern
Nach dem Parsen des XML können Sie die Daten mithilfe der Pandas-Bibliothek in einer CSV-Datei speichern:
import pandas as pd
parsed_dict = {
"title": ["The Great Gatsby"],
"author": ["F. Scott Fitzgerald"],
"year": [1925]
}
df = pd.DataFrame(parsed_dict)
df.to_csv("parsed_xml_data.csv", index=False)
Schritt 5: Umgang mit ungültigem XML
Die Bibliothek „Beautiful Soup“ kann XML-Dokumente analysieren, die möglicherweise Fehler enthalten:
from bs4 import BeautifulSoup
invalid_xml = """
<root>
<person>
<name>John Doe</name>
<message>This is a message & an invalid XML example.</message>
</person>
</root>
"""
soup = BeautifulSoup(invalid_xml, features="lxml-xml")
print(soup.prettify())
Beautiful Soup kann ungültiges XML verarbeiten, ist aber langsamer als andere XML-Analysebibliotheken.
Kommentare (0)
Hier gibt es noch keine Kommentare, Sie können der Erste sein!