Zum Fußzeileninhalt springen
PYTHON-HILFE

XML in Python mit ElementTree parsen

XML (eXtensible Markup Language) ist ein beliebtes und flexibles Format zur Darstellung strukturierter Daten in der Datenverarbeitung und Dokumentengenerierung. Die Standardbibliothek von Python enthält xml.etree, eine Bibliothek, die Entwicklern ein leistungsstarkes Set an Werkzeugen zum Parsen oder Erstellen von XML-Daten, zum Manipulieren von Kind-Elementen und zum programmgesteuerten Erzeugen von XML-Dokumenten bietet.

In Kombination mit IronPDF, einer .NET-Bibliothek zum Erstellen und Bearbeiten von PDF-Dokumenten, können Entwickler die Verarbeitung von XML-Elementobjektdaten beschleunigen und die dynamische PDF-Dokumentengenerierung vereinfachen. In diesem ausführlichen Leitfaden werden wir tief in Pythons xml.etree eintauchen, seine Hauptmerkmale und -funktionen erkunden und Ihnen zeigen, wie Sie es mit IronPDF integrieren können, um neue Möglichkeiten in der Datenverarbeitung zu eröffnen.

Was ist xml.etree?

xml.etree ist Teil der Python-Standardbibliothek. Es hat das Suffix .etree, auch bekannt als ElementTree, das eine unkomplizierte und effektive XML-API für die Verarbeitung und Änderung von XML-Dokumenten bietet. Es ermöglicht Programmierern, mit XML-Daten in einer hierarchischen Baumstruktur zu arbeiten, was die Navigation, Änderung und programmgesteuerte Generierung von XML-Dateien vereinfacht.

Obwohl es leichtgewichtig und einfach zu bedienen ist, bietet xml.etree starke Funktionalität für den Umgang mit XML-Wurzelelementdaten. Es bietet eine Möglichkeit, XML-Datendokumente aus Dateien, Strings oder file-ähnlichen Objekten zu parsen. Die resultierende geparste XML-Datei wird als Baum von Element-Objekten dargestellt. Entwickler können diesen Baum navigieren, Elemente und Attribute abrufen und verschiedene Aktionen wie Bearbeiten, Entfernen oder Hinzufügen von Elementen durchführen.

XML.etree Python (Wie es für Entwickler funktioniert): Abbildung 1 - xml.etree - Allgemeine Elementstruktur-Builder-Webseite

Merkmale von xml.etree

Parsen von XML-Dokumenten

Methoden zum Parsen von XML-Dokumenten aus Zeichenfolgen, Dateien oder dateiähnlichen Objekten stehen in xml.etree zur Verfügung. XML-Material kann mit der Funktion parse() verarbeitet werden, die auch ein ElementTree-Objekt erstellt, das das geparste XML-Dokument mit einem gültigen Elementobjekt darstellt.

Navigation von XML-Bäumen

Entwickler können xml.etree verwenden, um über die Elemente eines XML-Deklarationsbaums zu traversieren, wobei sie Funktionen wie find(), findall() und iter() verwenden, sobald das Dokument verarbeitet wurde. Der Zugriff auf bestimmte Elemente basierend auf Tags, Attributen oder XPath-Ausdrücken wird durch diese Ansätze erleichtert.

Änderung von XML-Dokumenten

Innerhalb eines XML-Dokuments gibt es Möglichkeiten, Komponenten und Attribute mithilfe von xml.etree hinzuzufügen, zu bearbeiten und zu entfernen. Die programmgesteuerte Änderung der von Natur aus hierarchischen Datenformatstruktur und des Inhalts des XML-Baums ermöglicht Datenänderungen, Aktualisierungen und Transformationen.

Serialisierung von XML-Dokumenten

xml.etree ermöglicht die Serialisierung von XML-Bäumen in Zeichenfolgen oder dateiähnliche Objekte mithilfe von Funktionen wie ElementTree.write(), nachdem ein XML-Dokument geändert wurde. Dies ermöglicht es Entwicklern, XML-Bäume zu erstellen oder zu bearbeiten und daraus XML-Ausgaben zu erzeugen.

XPath-Unterstützung

Unterstützung für XPath, eine Abfragesprache zur Auswahl von Knoten aus einem XML-Dokument, wird von xml.etree bereitgestellt. Entwickler können komplexe Datenabruf- und Manipulationsaktivitäten durchführen, indem sie XPath-Ausdrücke verwenden, um Elemente innerhalb eines XML-Baums abzufragen und zu filtern.

Iteratives Parsen

Anstatt das gesamte Dokument auf einmal in den Speicher zu laden, können Entwickler dank xml.etree Unterstützung für iteratives Parsen XML-Dokumente sequentiell bearbeiten. Dies ist sehr hilfreich für eine effektive Verwaltung großer XML-Dateien.

Namespace-Unterstützung

Entwickler können mit XML-Dokumenten arbeiten, die Namespaces zur Identifizierung von Elementen und Attributen verwenden, indem sie die Unterstützung von xml.etree für XML-Namespaces nutzen. Es bietet Möglichkeiten, Standard-XML-Namespace-Präfixe aufzulösen und Namespaces innerhalb eines XML-Dokuments zu spezifizieren.

Fehlerbehandlung

Fehlerbehandlungsfunktionen für fehlerhafte XML-Dokumente und Parsing-Fehler sind in xml.etree enthalten. Es bietet Techniken zur Fehlerverwaltung und Erfassung, was Zuverlässigkeit und Robustheit bei der Arbeit mit XML-Daten garantiert.

Kompatibilität und Portabilität

Da xml.etree ein Bestandteil der Python-Standardbibliothek ist, kann es sofort in Python-Programmen verwendet werden, ohne zusätzliche Installationen zu erfordern. Es ist portabel und kompatibel mit vielen Python-Einstellungen, da es sowohl mit Python 2 als auch Python 3 funktioniert.

Erstellen und Konfigurieren von xml.etree

Ein XML-Dokument erstellen

Durch das Erstellen von Objekten, die die Elemente des XML-Baums darstellen und sie an ein Wurzelelement anhängen, können Sie ein XML-Dokument erzeugen. Dies ist ein Beispiel, wie man XML-Daten erstellt:

import xml.etree.ElementTree as ET

# Create a root element 
root = ET.Element("catalog")

# Create a book element as a child of the root
book1 = ET.SubElement(root, "book")
book1.set("id", "1")

# Add child elements to the book
title1 = ET.SubElement(book1, "title")
title1.text = "Python Programming"

author1 = ET.SubElement(book1, "author")
author1.text = "John Smith"

# Create another book element
book2 = ET.SubElement(root, "book")
book2.set("id", "2")

# Add child elements to the second book
title2 = ET.SubElement(book2, "title")
title2.text = "Data Science Essentials"

author2 = ET.SubElement(book2, "author")
author2.text = "Jane Doe"

# Create an ElementTree object from the root element
tree = ET.ElementTree(root)
import xml.etree.ElementTree as ET

# Create a root element 
root = ET.Element("catalog")

# Create a book element as a child of the root
book1 = ET.SubElement(root, "book")
book1.set("id", "1")

# Add child elements to the book
title1 = ET.SubElement(book1, "title")
title1.text = "Python Programming"

author1 = ET.SubElement(book1, "author")
author1.text = "John Smith"

# Create another book element
book2 = ET.SubElement(root, "book")
book2.set("id", "2")

# Add child elements to the second book
title2 = ET.SubElement(book2, "title")
title2.text = "Data Science Essentials"

author2 = ET.SubElement(book2, "author")
author2.text = "Jane Doe"

# Create an ElementTree object from the root element
tree = ET.ElementTree(root)
PYTHON

XML-Dokument in Datei schreiben

Die Funktion write() des ElementTree-Objekts kann verwendet werden, um die XML-Datei zu schreiben:

# Write XML document to file
tree.write("catalog.xml")
# Write XML document to file
tree.write("catalog.xml")
PYTHON

Dies wird ein XML-Dokument in einer Datei namens "catalog.xml" erzeugen.

Ein XML-Dokument parsen

Das ElementTree analysiert XML-Daten mit der Funktion parse():

# Parse an XML document
tree = ET.parse("catalog.xml")
root = tree.getroot()
# Parse an XML document
tree = ET.parse("catalog.xml")
root = tree.getroot()
PYTHON

Dies wird das XML-Dokument "catalog.xml" parsen und das Wurzelelement des XML-Baums ergeben.

Elemente und Attribute zugreifen

Mit einer Vielzahl von Methoden und Eigenschaften, die von Element-Objekten angeboten werden, können Sie auf die Elemente und Attribute des XML-Dokuments zugreifen. Um beispielsweise den Titel des ersten Buches anzuzeigen:

# Access the title of the first book
first_book_title = root[0].find("title").text
print("Title of the first book:", first_book_title)
# Access the title of the first book
first_book_title = root[0].find("title").text
print("Title of the first book:", first_book_title)
PYTHON

XML-Dokument ändern

Das XML-Dokument kann durch Hinzufügen, Ändern oder Löschen von Komponenten und Attributen verändert werden. Um beispielsweise den Autor des zweiten Buches zu ändern:

# Modify the author of the second book
root[1].find("author").text = "Alice Smith"
# Modify the author of the second book
root[1].find("author").text = "Alice Smith"
PYTHON

XML-Dokument serialisieren

Die Funktion tostring() aus dem ElementTree-Modul kann verwendet werden, um das XML-Dokument in eine Zeichenfolge zu serialisieren:

# Serialize XML document to string
xml_string = ET.tostring(root, encoding="unicode")
print(xml_string)
# Serialize XML document to string
xml_string = ET.tostring(root, encoding="unicode")
print(xml_string)
PYTHON

Einstieg mit IronPDF

Was ist IronPDF?

XML.etree Python (Wie es für Entwickler funktioniert): Abbildung 2 - IronPDF-Webseite

IronPDF ist eine leistungsstarke .NET-Bibliothek zur programmgesteuerten Erstellung, Bearbeitung und Änderung von PDF-Dokumenten in C#, VB.NET und anderen .NET-Sprachen. Es bietet Entwicklern einen umfassenden Funktionsumfang zur dynamischen Erstellung hochwertiger PDFs, was es zu einer beliebten Wahl für viele Anwendungen macht.

Wichtige Funktionen von IronPDF

PDF-Erstellung: Mit IronPDF können Programmierer neue PDF-Dokumente erstellen oder bestehende HTML-Tags, Texte, Bilder und andere Dateiformate in PDFs konvertieren. Diese Funktion ist sehr nützlich für die dynamische Erstellung von Berichten, Rechnungen, Quittungen und anderen Dokumenten.

HTML-zu-PDF-Konvertierung: IronPDF macht es Entwicklern leicht, HTML-Dokumente, einschließlich Stile aus JavaScript und CSS, in PDF-Dateien umzuwandeln. Dies ermöglicht die Erstellung von PDFs aus Webseiten, dynamisch generierten Inhalten und HTML-Vorlagen.

Änderung und Bearbeitung von PDF-Dokumenten: IronPDF bietet eine umfassende Palette an Funktionen zum Ändern und Bearbeiten bereits vorhandener PDF-Dokumente. Entwickler können mehrere PDF-Dateien zusammenführen, sie in andere Dokumente aufteilen, Seiten entfernen und Lesezeichen, Anmerkungen und Wasserzeichen hinzufügen, unter anderem, um PDFs an ihre Anforderungen anzupassen.

Kombination von IronPDF und xml.etree

In diesem Abschnitt wird gezeigt, wie man mit IronPDF PDF-Dokumente auf der Grundlage geparster XML-Daten generiert. Durch das Nutzen der Stärken von XML und IronPDF können Sie strukturierte Daten effizient in professionelle PDF-Dokumente umwandeln. Hier ist eine detaillierte Anleitung:

Installation

Stellen Sie sicher, dass IronPDF installiert ist, bevor Sie beginnen. Es kann mit pip installiert werden:

pip install ironpdf

PDF-Dokument mit IronPDF unter Verwendung von geparstem XML generieren

IronPDF kann verwendet werden, um ein PDF-Dokument basierend auf den aus dem XML extrahierten Daten zu erstellen, nachdem es verarbeitet wurde. Lassen Sie uns ein PDF-Dokument mit einer Tabelle erstellen, die die Buchtitel und Autoren enthält:

from ironpdf import *

# Create HTML content for PDF from the parsed XML elements
html_content = """
<html>
    <body>
        <h1>Books</h1>
        <table border='1'>
            <tr><th>Title</th><th>Author</th></tr>
"""
# Loop through books to add each to the table
for book in books:
    html_content += f"<tr><td>{book['title']}</td><td>{book['author']}</td></tr>"

html_content += """
        </table>
    </body>
</html>
"""

# Generate PDF document
pdf = IronPdf()
pdf.HtmlToPdf.RenderHtmlAsPdf(html_content)
pdf.SaveAs("books.pdf")
from ironpdf import *

# Create HTML content for PDF from the parsed XML elements
html_content = """
<html>
    <body>
        <h1>Books</h1>
        <table border='1'>
            <tr><th>Title</th><th>Author</th></tr>
"""
# Loop through books to add each to the table
for book in books:
    html_content += f"<tr><td>{book['title']}</td><td>{book['author']}</td></tr>"

html_content += """
        </table>
    </body>
</html>
"""

# Generate PDF document
pdf = IronPdf()
pdf.HtmlToPdf.RenderHtmlAsPdf(html_content)
pdf.SaveAs("books.pdf")
PYTHON

Dieser Python-Code generiert eine HTML-Tabelle mit den Buchtiteln und Autoren, die IronPDF dann in ein PDF-Dokument umwandelt. Unten ist die Ausgabe von dem obigen Code dargestellt.

Ausgabe

XML.etree Python (Wie es für Entwickler funktioniert): Abbildung 3 - Ausgegebenes PDF

Abschluss

XML.etree Python (Wie es für Entwickler funktioniert): Abbildung 4 - IronPDF-Lizenzseite

Abschließend bietet die Kombination von IronPDF und xml.etree Python eine robuste Lösung für Entwickler, die XML-Daten parsen und dynamische PDF-Dokumente basierend auf den geparsten Daten erzeugen möchten. Mit der zuverlässigen und effektiven Python xml.etree API können Entwickler problemlos strukturierte Daten aus XML-Dokumenten extrahieren. IronPDF ergänzt dies, indem es die Möglichkeit bietet, ästhetisch ansprechende und bearbeitbare PDF-Dokumente aus den verarbeiteten XML-Daten zu erstellen.

Zusammen ermöglichen xml.etree Python und IronPDF Entwicklern, Datenverarbeitungsaufgaben zu automatisieren, wertvolle Erkenntnisse aus XML-Datenquellen zu extrahieren und diese in einer professionellen und visuell ansprechenden Weise durch PDF-Dokumente zu präsentieren. Egal, ob es darum geht, Berichte zu erstellen, Rechnungen zu schreiben oder Dokumentationen zu produzieren, eröffnet die Synergie zwischen xml.etree Python und IronPDF neue Möglichkeiten in der Datenverarbeitung und Dokumentenerstellung.

IronPDF ist preiswert, wenn es im Bundle gekauft wird, und bietet mit einer lebenslangen Lizenz (z.B. $799 für einen einmaligen Kauf für mehrere Systeme) ausgezeichneten Wert. Lizenzierte Benutzer haben rund um die Uhr Zugriff auf den Online-Technischen Support. Für weitere Informationen zu den Gebühren gehen Sie bitte auf diese Website. Besuchen Sie diese Seite, um mehr über die Produkte von Iron Software zu erfahren.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me