DomDocument je kontejner (proměnná/objekt) pro uchovávání dokumentu XML v kódu VBA.
Stejně jako používáte proměnnou String k uchovávání hodnoty řetězců, můžete použít DomDocument k uložení dokumentu XML.
(úplný seznam vlastností DomDocuments najdete v polovině stránky)
Proč mě zajímá, co je to DomDocument?
Excel má několik velmi intuitivních způsobů přesunu XML do tabulky (XML mapy), ale:
• Co když chcete s daty manipulovat poté, co je načtete, ale než se data zobrazí ve vašich buňkách?
• Co když chcete importovat data XML do ovládacích prvků namísto mapovaných buněk, jako jsou kombinované boxy, štítky nebo textová pole?
Oba tyto úkoly je obtížné (ne -li nemožné) splnit pomocí XML map. Můžeme však importovat data XML do DomDocument, poté vytáhnout potřebná data, zapsat do ovládacích prvků, filtrovat data nebo s daty manipulovat, než se objeví v tabulce.
Jak načtu XML do DomDocument?
Následující příklad používá Excel 2003. V editoru jazyka přejděte na Nástroje-> Reference a zaškrtněte políčko „Microsoft XML v5.0“
Nyní potřebujeme nějaké XML. Nedávno jsem pro tento web vytvořil mapu webu Google, která je v XML, takže ji můžeme použít: AutomateExcel Google XML Sitemap
Chcete -li načíst můj dokument XML SiteMap do objektu DomDocument v aplikaci Excel, použijte následující kód (který je komentován vysvětlením věcí):
1234567891011121314151617181920212223242526272829303132333435 | Sub DomDocumentBasic ()Dim oDom As MSXML2.DOMDocument'Vytvořte objekt DomDocumentNastavit oDom = CreateObject ("MSXML2.DOMDocument")„Než budete pokračovat, nahrajte celý dokumentoDom.async = Falešný`` NeověřovatoDom.validateOnParse = FalseoDom.Load ("Mapa webu AutomateExcel Google XML")MsgBox oDom.XMLEnd Sub |
Kód jednoduše načte XML a zobrazí ho v okně se zprávou:
Poznámka: Pokud načítáte XML z adresy URL a máte potíže, nezapomeňte na řádek „oDom.async = Falešný“.
Jak procházím DomDocument?
Když už mám data XML v objektu, jak s nimi „něco udělám“?
LOL, tuto část se stále učím. Základy zveřejním v příštím příspěvku a vložím sem odkaz.
Název příspěvku byl „Co je to DomDocument“, doufejme, že teď máte nápad.