Der DOM-Parser wird als DOMDocument-Objekt implementiert, das gleichzeitig die unterste Wurzel (root) des DOM-Baumes ist. Leider gibt es nicht weniger als vier DOMDocument-Objekte in der MSXML2-Library – eine ziemlich verwirrende Sache. Die Gründe von Microsoft für so viele Document-Objekte würde den Rahmen dieses Artikels sprengen (sie hängen zusammen mit Abwärtskompatibilität und COM ProgIDs). Also interessiert uns nur, dass DOMDocument40 das aktuellste DOMDocument ist und damit das von uns hier verwendete.
Alle Elemente in einem Dokument sind Kind-Knoten des Document Objekts, welches eine Reihe von Factory-Methoden bereitstellt, die zur Erstellung unterschiedlicher Arten von Knoten verwendet werden, mit denen man im Verlauf der Bearbeitung eines Dokuments zu tun hat. IXMLDOMNode ist die Basis-Klasse für alle Arten von Knoten, die man beim Arbeiten mit einem XML-Dokument verwendet. Die wichtigsten Arten von Knoten sind in Tabelle A aufgeführt.
Node Object | DOMDocument40 Factory-Methode | Verwendung |
IXMLDOMNode | createNode() | Basis-Klasse für alle Arten von Baum-Knoten |
IIXMLDOMElement | createElement() | Repräsentiert ein XML-Element (Tag-Paar) |
IXMLDOMAttribute | createAttribute() | Repräsentiert ein Attribut |
IXMLDOMProcessing Instruction | createProcessing Instruction() | Repräsentiert eine Processing Instruction, wie z.B. die Angabe der XML-Version |
Tabelle A: Einige Arten von Knoten
So bewegt man sich innerhalb eines Dokuments
Die Basis-Klasse IXMLDOMNode stellt Methoden zur Verfügung, die man benutzen kann, um sich in einem Dokumentenbaum zu bewegen.
Die Eigenschaften firstChild und lastChild geben eine Instanz des ersten und letzten Knotens unterhalb des aktuellen Knotens zurück. Von da aus kann man sich zum nächsten oder vorherigen Geschwister-Knoten des jeweiligen Kind-Knotens bewegen, indem man die Eigenschaften nextSibling und previousSibling verwendet. Überprüfen Sie die nodeType-Eigenschaft um festzustellen, von welcher Art der aktuelle Knoten ist. Wenn es sich um ein Element handelt, kann man auf dessen Wert über die nodeValue-Eigenschaft zugreifen.
Man kann auf die Kinder eines Knotens auch über eine IXMLDOMNodeList-Collection zugreifen, welche man mithilfe der childNodes-Eigenschaft einer Instanz eines Knotens erhält. IXMLDOMNodeList ist eine indizierte Collection – d.h., man kann auf jeden Kind-Knoten über seinen Index zugreifen (beginnend mit 0).
Hinter 84 Prozent der Zwischenfälle bei Herstellern stecken Schwachstellen in der Lieferkette. Auf dem Vormarsch…
Es kommt angeblich 2028 auf den Markt. Das aufgeklappte Gerät soll die Displayfläche von zwei…
Das System basiert auf Hardware von HPE-Cray und Nvidia. Die Inbetriebnahme erfolgt 2027.
Die Bundesnetzagentur hat ihr Gigabit-Grundbuch aktualisiert. Drei von vier Haushalten sollen jetzt Zugang zu Breitbandanschlüssen…
Mit dem Internet verbundene Digitale Bilderrahmen oder Mediaplayer können mit Schadsoftware infiziert werden und sind…
Schädliche Apps können unter Umständen einen Systemabsturz auslösen. Mindestens eine Anfälligkeit erlaubt eine Remotecodeausführung.