Python-Angebote zu DOM

(Auszug aus "Python & XML" von Christopher A. Jones & Fred L. Drake, Jr.)

Python bietet einige andere Arten, um mit DOM zu arbeiten. Die Art, die Sie für sich aussuchen, sollte Ihren Bedürfnissen am besten gerecht werden. minidom ist kleiner und schneller als ein vollständiges DOM, wird jedoch dem Bedarf der meisten Benutzer gerecht. pulldom bietet einen Weg, nur den Teil von DOM zu benutzen, der für eine bestimmte Anwendung benötigt wird, was es erlaubt, DOM dann einfacher zu benutzen, wenn Sie mit sehr großen Dokumenten oder mit strengen Speicherbeschränkungen arbeiten. 4DOM ist eine vollständige Implementierung von DOM Level 2. Obwohl dies die führenden Python-Implementierungen von DOM sind und die einzigen hier beschriebenen, sollten Sie dennoch wissen, daß weitere Implementierungen zur Verfügung stehen, die noch mehr auf Ihre Bedürfnisse zugeschnitten sein könnten.

Minidom

minidom ist Teil des xml.dom-Pakets sowohl der Python-Standardbibliothek als auch von PyXML und ist eine leichtgewichtige DOM-Implementierung. Ihr Zweck ist es, eine einfache, mit geringeren Speicheranforderungen belastete Implementierung zu bieten, was eine komplette DOM-Implementierung nicht kann. Die Methoden beim Arbeiten mit DOM sind ebenfalls einfach. minidom unterstützt auch Funktionen für die Arbeit mit XML-Stücken in Strings und Methoden, um sie zu extrahieren.

Alles in allem könnte minidom am besten für einfache (nicht unbedingt kleinere) Konfigurationsdateien geeignet sein, sei es zum Laden in Ihren Anwendungen, zum Abschicken von Formularen aus Webseiten, zur Autorisation von Benutzern und überall sonst, wo »ein wenig XML« gebraucht wird. Mit minidom können Sie Speicher- und Zeit-Overhead reduzieren, was bei der Entwicklung von Webanwendungen zwei ganz wesentliche Punkte sind.

Pulldom

pulldom, das auch aus dem xml.dom-Paket importiert werden kann, könnte Ihr Lebensretter sein, wenn Sie mit der Aufgabe betraut werden, einen Teil eines riesigen XML-Dokuments zu nehmen und für diese Untermenge eine DOM-Instanz zur weiteren Bearbeitung zu erzeugen. pulldom ermöglicht die Konstruktion von DOM-Teilen, die auf SAX-Ereignissen basieren. Das Modul benutzt minidom für die eigentlichen Knoten, die es zurückgibt.

pulldom versucht, eine Art Mittelding zwischen DOM und SAX zu sein. Es will die Zustandsverwaltung (die zuvor erwähnten Ortsmarkierungen) von SAX aufheben, aber dennoch die strombasierte Verarbeitung aus Gründen der Geschwindigkeit und Effizienz beibehalten. pulldom versucht auch, die selbst-ähnliche, komplizierte Natur eines kompletten DOM-Baums mit seinen vielen Knoten und Listen zu vereinfachen und seine Speichergier zu reduzieren.

4DOM

Sowohl minidom als auch pulldom haben beide ihre speziellen Anwendungsbereiche, aber für den Rest dieses Buches arbeiten wir mit 4DOM. Dies ist eine DOM-Implementierung, die die meisten Features von Level 2 implementiert, die außerhalb eines Browsers tatsächlich Sinn machen.

Nach Ihrer vorherigen Erfahrung mit SAX weiter vorn in diesem Abschnitt mag die Interaktion mit DOM im Vergleich dazu unglaublich einfach erscheinen. Aber der Umgang mit der anscheinend endlosen Verzwicktheit von ineinander gestapelten Knotenklassen könnte Sie schnell wieder in die Arme von SAX zurücktreiben, um Ihre Stringvergleiche durchzuführen. Wie es Ihnen auch immer ergehen mag, die nächsten Abschnitte versuchen, Sie in die Arbeit mit DOM unter Python einzuführen und eine Referenz zu seinen Schnittstellen zu geben.

Unabhängig von der Implementierung, die Sie benutzen, gibt es zwei Grundarten von Operationen, die Sie mit DOM ausführen können. Die häufigsten Operationen dienen zur Gewinnung von Informationen aus dem Dokument, was wir auch zuerst erläutern werden. Anschließend fahren wir fort und erklären, wie man mit DOM Dokumente verändern und erzeugen kann.

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema Python & XML bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2002 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "Python & XML" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de