Was ist ein DomDocument?

Inhaltsverzeichnis

Ein DomDocument ist ein Container (Variable/Objekt) zum Halten eines XML-Dokuments in Ihrem VBA-Code.

So wie Sie eine String-Variable verwenden, um einen String-Wert zu speichern, können Sie ein DomDocument verwenden, um ein XML-Dokument aufzunehmen.

(Eine vollständige Liste der DomDocuments-Eigenschaften finden Sie in der Mitte dieser Seite)

Warum interessiert es mich, was ein DomDocument ist?

Excel bietet einige sehr intuitive Möglichkeiten zum Verschieben von XML in eine Tabellenkalkulation (XML Maps), aber:

•Was ist, wenn Sie die Daten bearbeiten möchten, nachdem Sie sie abgerufen haben, aber bevor die Daten in Ihren Zellen angezeigt werden?

•Was ist, wenn Sie XML-Daten in Steuerelemente anstelle von zugeordneten Zellen importieren möchten, z. B. Kombinationsfelder, Beschriftungen oder Textfelder?

Beide Aufgaben sind mit XML-Maps schwierig (wenn nicht sogar unmöglich) zu bewerkstelligen. Wir können jedoch die XML-Daten in ein DomDocument importieren, dann die benötigten Daten herausziehen, in Steuerelemente schreiben, die Daten filtern oder die Daten bearbeiten, bevor sie in einer Kalkulationstabelle erscheinen.

Wie lade ich XML in ein DomDocument?

Im folgenden Beispiel wird Excel 2003 verwendet. Gehen Sie im Visual Basic-Editor zu Tools->References und setzen Sie ein Häkchen in das Kontrollkästchen für „Microsoft XML v5.0“.

Jetzt brauchen wir etwas XML. Vor kurzem habe ich eine Google-Sitemap für diese Site erstellt, und sie ist in XML, also verwenden wir das: AutomateExcel Google XML Sitemap

Um mein SiteMap-XML-Dokument in ein DomDocument-Objekt in Excel zu laden, verwenden Sie den folgenden Code (der mit Kommentaren versehen ist):

1234567891011121314151617181920212223242526272829303132333435 Sub DomDocumentBasic()Dim oDom als MSXML2.DOMDocument'DomDocument-Objekt erstellenSet oDom = CreateObject("MSXML2.DOMDocument")'Gesamtes Dokument laden, bevor Sie fortfahrenoDom.async = False'Nicht validierenoDom.validateOnParse = FalseoDom.Load ("AutomateExcel Google XML Sitemap")MsgBox oDom.XMLEnd Sub

Der Code lädt einfach die XML und zeigt sie in einem Meldungsfeld an:

Hinweis: Wenn Sie XML von einer URL laden und Probleme haben, stellen Sie sicher, dass Sie die Zeile „oDom.async = False“.

Wie durchquere ich das DomDocument?

Nun, da ich die XML-Daten in einem Objekt habe, wie kann ich damit „etwas machen“?

LOL, ich lerne diesen Teil noch. Ich werde die Grundlagen in einem zukünftigen Beitrag posten und hier einen Link dazu einfügen.

Der Titel des Beitrags war „Was ist ein DomDocument“, hoffentlich haben Sie jetzt eine Idee.

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave