Co to jest DomDokument?

Spisie treści

DomDocument to kontener (zmienna/obiekt) do przechowywania dokumentu XML w kodzie VBA.

Tak jak używasz zmiennej String do przechowywania wartości ciągów, możesz użyć DomDocument do przechowywania dokumentu XML.

(pełna lista właściwości DomDocuments znajduje się w połowie tej strony)

Dlaczego obchodzi mnie, czym jest DomDocument?

Excel ma kilka bardzo intuicyjnych sposobów przenoszenia XML do arkusza kalkulacyjnego (Mapy XML), ale:

• Co zrobić, jeśli chcesz manipulować danymi po ich pobraniu, ale zanim dane pojawią się w twoich komórkach?

• Co zrobić, jeśli chcesz zaimportować dane XML do kontrolek zamiast zmapowanych komórek, takich jak pola rozwijane, etykiety lub pola tekstowe?

Oba te zadania są trudne (jeśli nie niemożliwe) do wykonania przy użyciu map XML. Możemy jednak zaimportować dane XML do DomDocument, a następnie wyciągnąć potrzebne dane, zapisywać w kontrolkach, filtrować dane lub manipulować danymi, zanim pojawią się w arkuszu kalkulacyjnym.

Jak załadować XML do DomDocument?

Poniższy przykład używa programu Excel 2003. W Edytorze Visual Basic przejdź do Narzędzia->Referencje i zaznacz pole wyboru „Microsoft XML v5.0”

Teraz potrzebujemy trochę XML. Niedawno stworzyłem mapę witryny Google dla tej witryny i jest ona w formacie XML, więc użyjmy tego: AutomateExcel Google XML Sitemap

Aby załadować mój dokument SiteMap XML do obiektu DomDocument w programie Excel, użyj następującego kodu (który jest komentowany i wyjaśnia różne rzeczy):

1234567891011121314151617181920212223242526272829303132333435 Sub DomDokumentPodstawowe()Dim oDom jako MSXML2.DOMDocument'Utwórz obiekt DomDocumentUstaw oDom = CreateObject("MSXML2.DOMDocument")'Załaduj cały dokument przed przejściem dalejoDom.async = Fałsz„Nie sprawdzaj”oDom.validateOnParse = FałszoDom.Load („Mapa witryny AutomateExcel Google XML”)MsgBox oDom.XMLNapis końcowy

Kod po prostu ładuje XML i wyświetla go w oknie komunikatu:

Uwaga: jeśli ładujesz XML z adresu URL i masz problemy, upewnij się, że nie zapomniałeś wiersza „oDom.async = Fałsz“.

Jak przemierzać DomDocument?

Teraz, gdy mam dane XML w obiekcie, jak mam z nim „coś zrobić”?

LOL, wciąż uczę się tej części. Opublikuję podstawy w przyszłym poście i umieszczę link do niego tutaj.

Tytuł posta brzmiał „Co to jest DomDocument”, mam nadzieję, że masz teraz pomysł.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave