Erstellen von XML-Dokumenten mit Hilfe des DOM in VB6

Die Beispielanwendung BookEditor erlaubt dem Benutzer die Erstellung eines neuen XML-Dokuments, basierend auf den Werten, die er für ein hypothetisches Buch eingibt. Das Steuerelement TreeView in Formular Form1 zeigt den Inhalt des aktuell geladenden Buch-Katalogs an (Abbildung A).


Abbildung A: Drei Bücher im BookEditor angezeigt

Als erstes erstellt der BookEditor nach dem Start ein neues leeres XML-Dokument, das als root-Element für neue book-Elemente im Dokumenten-Baum dient. Dies geschieht in der Subroutine SetupCatalogDoc (Listing A).

Bevor irgendwelche Knoten erstellt werden, konfiguriere ich den DOM-Parser durch Angabe einiger Parameter der Modul-Variablen CatalogDocDOMDocument40-Objekt:

  • Der Parameter async legt fest, ob der Parser im Synchron-Modus läuft. Der Asynchron-Modus (die Default-Einstellung) erlaubt Ihrer Anwendung die Ausführung weiterer Tasks, während der DOM-Parser den Baum eines umfangreichen Dokuments erstellt. Da meine Beispielanwendung mit relativ kleinen Dokumenten arbeitet, habe ich den Synchron-Modus für den Parser eingestellt (async = False) Damit umgehe ich die Schwierigkeiten, die mit der Beobachtung des Fortschritts eines asynchronen Parsers verbunden sind.
  • Die Eigenschaft preserveWhiteSpace kontrolliert, ob der Parser zur Repräsentation von Whitespace in einem XML-Dokument Extra-Elemente in den DOM-Baum einfügt. Diese Extra-Elemente können die Navigation komplizieren, also habe ich diese Funktion abgeschaltet, indem ich die Eigenschaft auf false gesetzt habe.
  • Die Eigenschaft resolveExternals kontrolliert, ob der Parser versuchen soll, Verweise auf externe Dokumente oder Namespaces aufzulösen, auf die er in einem XML-Dokument stößt. Dies ist eine nützliche Funktion, wenn man es mit einem Dokument zu tun hat, das über ein zugehöriges XML-Schema oder eine DTD verfügt. Setzt man resolveExternals auf true, lädt der Parser automatisch ein Schema oder eine DTD, um das Dokument später dagegen zu validieren.

Nachdem der Parser wie gewünscht eingerichtet ist, kann ich damit beginnen, die benötigten Knoten für das root-Element des neuen Dokuments zu erstellen. Zuerst erzeuge ich einen neuen IXMLProcessingInstruction-Knoten, der die Angabe der XML-Version enthält, die zu Beginn jedes XML-Dokuments erscheinen sollte.

Dann erstelle ich einen IXMLElementNode, der das root-Element catalog des Dokuments repräsentiert. Nachdem diese beiden Knoten CatalogDoc hinzugefügt wurden, habe ich das folgende einfache XML-Dokument (überprüfen Sie dies anhand von CatalogDoc.xml):


<?xml version="1.0"?>
<catalog/>

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

Chips bescheren Samsung deutlichen Gewinnzuwachs

Das operative Ergebnis wächst um fast 6 Billionen Won auf 6,64 Billionen Won. Die Gewinne…

5 Tagen ago

Chrome: Google verschiebt das Aus für Drittanbietercookies

Ab Werk blockiert Chrome Cookies von Dritten nun frühestens ab Anfang 2025. Unter anderem gibt…

5 Tagen ago

BAUMLINK: Wir sind Partner und Aussteller bei der Frankfurt Tech Show 2024

Die Vorfreude steigt, denn BAUMLINK wird als Partner und Aussteller bei der Tech Show 2024…

6 Tagen ago

Business GPT: Generative KI für den Unternehmenseinsatz

Nutzung einer unternehmenseigenen GPT-Umgebung für sicheren und datenschutzkonformen Zugriff.

6 Tagen ago

Alphabet übertrifft die Erwartungen im ersten Quartal

Der Umsatz steigt um 15 Prozent, der Nettogewinn um 57 Prozent. Im nachbörslichen Handel kassiert…

1 Woche ago

Microsoft steigert Umsatz und Gewinn im dritten Fiskalquartal

Aus 61,9 Milliarden Dollar generiert das Unternehmen einen Nettoprofit von 21,9 Milliarden Dollar. Das größte…

1 Woche ago