Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 13625|Antwort: 0

[Quelle] Python implementiert XML-Dateiparsing

[Link kopieren]
Veröffentlicht am 05.06.2018 14:27:09 | | |
1. XML Einführung

XML (eXtensible Markup Language) bezeichnet eine erweiterbare Markup-Sprache, die zum Übertragen und Speichern von Daten entwickelt wurde und heute zum Kern vieler neuer Technologien mit unterschiedlichen Anwendungen in unterschiedlichen Bereichen geworden ist. Es ist ein unvermeidliches Produkt der Entwicklung des Webs bis zu einem bestimmten Stadium, das die Kernmerkmale von SGML, die einfachen Eigenschaften von HTML und viele neue Funktionen wie klar und gut strukturiert aufweist.

Test. XML-Datei

<?xml version="1.0" coding="utf-8"?>
<catalog>
    <maxid>4</maxid>
    <login-Benutzername="pytest" passwd='123456'>
        <caption>Python</caption>
        <item id="4">
            <caption>Test</caption>
        </item>
    </login>
    <Item-id="2">
        <caption>Zope</caption>
    </item>
</catalog>

Für eine ausführliche Einführung in XML siehe bitte:http://www.w3school.com.cn/xmldom/dom_nodetype.asp

2. XML Dokumentenparsing

Es gibt drei gängige Methoden, mit denen Python XML analysiert: Eine davon ist das xml.dom.*-Modul, eine Implementierung der W3C-DOM-API, die sehr geeignet ist, wenn man die DOM-API verarbeiten muss; Das zweite ist das xml.sax.*-Modul, eine Implementierung der SAX-API, die Bequemlichkeit zugunsten von Geschwindigkeit und Speicheraufwand opfert, und SAX ist eine ereignisbasierte API, was bedeutet, dass es eine riesige Anzahl von Dokumenten "in der Luft" verarbeiten kann, ohne sie komplett in den Speicher laden zu müssen; Das dritte ist das xml.etree.ElementTree-Modul (kurz ET), das eine leichte Python-ähnliche API bietet, die viel schneller ist als der DOM, und es gibt viele angenehme APIs, die verwendet werden können, im Vergleich zu SAX, ETs ET.iterparse bietet außerdem eine "in der Luft"-Verarbeitungsmethode, es ist nicht nötig, das gesamte Dokument in den Speicher zu laden, und die durchschnittliche Leistung von ET ist ähnlich wie bei SAX. Die API ist jedoch etwas effizienter und einfach zu bedienen.

2.1 xml.dom.*

Das Document Object Model (DOM) ist eine standardisierte Programmierschnittstelle, die von der W3C-Organisation empfohlen wird, um erweiterbare Markup-Sprachen zu handhaben. Wenn ein DOM-Parser ein XML-Dokument parst, liest er das gesamte Dokument auf einmal, speichert alle Elemente des Dokuments in einer Baumstruktur im Speicher, und dann kann man verschiedene vom DOM bereitgestellte Funktionen verwenden, um den Inhalt und die Struktur des Dokuments zu lesen oder zu ändern oder den bearbeiteten Inhalt in die XML-Datei zu schreiben. Verwenden Sie xml.dom.minidom in Python, um die XML-Datei zu analysieren.

a. Subtags erhalten
b. Bezeichnungen, die denselben Tag-Namen unterscheiden
c. Erhalten Sie den Tag-Attributwert
d. Daten zwischen Labelpaaren abholen

Ausgabe:

2.2 xml.etree.ElementTree

ElementTree wurde entwickelt, um XML zu handhaben, und es gibt zwei Implementierungen in der Python-Standardbibliothek: Eine ist eine reine Python-Implementierung, wie xml.etree.ElementTree, und die andere ist eine schnellere xml.etree.cElementTree. Hinweis: Versuche, die C-Sprache zur Implementierung zu verwenden, da sie schneller ist und weniger Speicher verbraucht.

a. Durchqueren Sie die nächste Schicht des Wurzelknotens
b. Index Zugriff auf einzelne Tags, Attribute und Text
c. Finde das angegebene Tag unter Root
d. Durchquerung von XML-Dateien
e. Die XML-Datei modifizieren

Ausgabe:

Angehängt:

2.3 xml.sax.*

SAX ist eine ereignisgesteuerte API, die SAX verwendet, um XML in zwei Teilen zu parsen: dem Parser und dem Ereignishandler.

Der Parser ist dafür verantwortlich, das XML-Dokument zu lesen und Ereignisse an den Ereignishandler zu senden, wie zum Beispiel Elementstart- und Element-Endereignisse

Der Ereignisprozessor ist verantwortlich für die Reaktion auf die Ereignisse und die Verarbeitung der übermittelten XML-Daten

Häufige Szenarien:

(1) Bearbeitung großer Dokumente

(2) Nur ein Teil des Dokuments ist erforderlich oder spezifische Informationen werden nur aus der Akte gewonnen

(3) Ich möchte mein eigenes Objektmodell erstellen





Vorhergehend:Lösung: Der Installer, der zur Installation von Visual Studio verwendet wurde, ist unvollständig
Nächster:VS Code-Schnellformatierungs-Shortcuts
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com