Erstellen von XML-Dokumenten mit Hilfe des DOM in VB6

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).

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

4 Kommentare zu Erstellen von XML-Dokumenten mit Hilfe des DOM in VB6

Kommentar hinzufügen
  • Am 15. Januar 2010 um 13:22 von rocker

    Guter Einstieg für DOM-Anfänger, die sich mit VB etwas auskennen
    Ich fand den Artikel für meine Zwecke ausgezeichnet, da er mir genau den gewünschten Einstieg in das Thema ermöglich hat.

    Ich finde, daß die einzelnen Schritte hinreichend ausführlich und „Codesynchron“ (was oftmals leider nicht der Fall ist) erläutert wurden.

    Allerdings hat der Autor den QuellCode wohl nicht mehr abschließend getestet – die Fehlerrate ist einfach zu hoch (siehe Antwort zu Kommentar-Gino) :-)

  • Am 10. Dezember 2003 um 20:37 von Gino

    Erstellen von XML-Dokum. mit Hilfe des DOM in VB6
    Schade,

    wollte das Ding testen – aber
    Set Me.CatalogDoc = etc….
    in SetupCatalogDoc()
    verursacht folgenden Fehler:
    "Methode oder Mitgliedsdaten nicht gefunden"

    Verweis auf XML ist vorhanden,
    hm – was kann ´das sein?

    Gruss
    Gino

    • Am 15. Januar 2010 um 13:11 von rocker

      AW: Erstellen von XML-Dokum. mit Hilfe des DOM in VB6
      nach 7 Jahren Test – endlich die Code-Macken gefunden :-)

      a) statt Set Me.CatalogDoc.. –> Set CatalogDoc
      b) in Form2 eine Variabel CatalogDoc als Public deklarieren
      "Public CatalogDoc As MSXML2.DOMDocument40" definieren

      c) in Form2 den Event-Handler "cmdOK_Click()" vor "End Sub" wie folgt ergänzen:
      Form1.EditCancelled = False
      Me.Hide (oder Unload Me)

      –> dann kann auch das Ergebnis in Form1 betrachtet werden

  • Am 1. Oktober 2003 um 12:47 von A.Kurz

    Hilfestellung für Anfänger
    Der Artikel ist nicht schlecht, könnte aber – für Anfänger dieser Materie – mehr Hilfestellung bieten, damit sich Neulinge besser zurecht finden
    so muss ich weiterhin basteln und zaubern um endlich die Ergebnisse zu erzielen , die ich von meinen Programm erwarte.
    Des Weiteren sollte der Artikel ruhig mal wieder Aktualisiert werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *