O que é um DomDocument?

Índice

Um DomDocument é um contêiner (variável / objeto) para conter um documento XML em seu código VBA.

Assim como você usa uma variável String para conter um valor de strings, você pode usar um DomDocument para conter um documento XML.

(para uma lista completa de propriedades DomDocuments, consulte no meio desta página)

Por que me importo com o que é um DomDocument?

O Excel tem algumas maneiras muito intuitivas de mover XML para uma planilha (XML Maps), mas:

• E se você quiser manipular os dados depois de recuperá-los, mas antes que os dados apareçam em suas células?

• E se você quiser importar dados XML para controles em vez de células mapeadas, como caixas de combinação, rótulos ou caixas de texto?

Ambas as tarefas são difíceis (se não impossíveis) de realizar usando mapas XML. No entanto, podemos importar os dados XML para um DomDocument e, em seguida, extrair os dados de que precisamos, gravar nos controles, filtrar os dados ou manipular os dados antes que apareçam em uma planilha.

Como faço para carregar XML em um DomDocument?

O exemplo a seguir usa o Excel 2003. No Editor do Visual Basic, acesse Ferramentas-> Referências e coloque uma marca de seleção na caixa “Microsoft XML v5.0”

Agora precisamos de algum XML. Recentemente, criei um sitemap do Google para este site, e é em XML, então vamos usar isso: AutomateExcel Google XML Sitemap

Para carregar meu documento XML do SiteMap em um objeto DomDocument no Excel, use o seguinte código (que está comentado explicando as coisas):

1234567891011121314151617181920212223242526272829303132333435 Sub DomDocumentBasic ()Dim oDom As MSXML2.DOMDocument'Crie o objeto DomDocumentDefinir oDom = CreateObject ("MSXML2.DOMDocument")'Carregue o documento inteiro antes de prosseguiroDom.async = False'Não ValidaroDom.validateOnParse = FalseoDom.Load ("AutomateExcel Google XML Sitemap")MsgBox oDom.XMLEnd Sub

O código simplesmente carrega o XML e o exibe em uma caixa de mensagem:

Observação: se você carregar XML de um URL e estiver com problemas, certifique-se de não esquecer a linha “oDom.async = False“.

Como eu atravesso o DomDocument?

Agora que tenho os dados XML em um objeto, como posso “fazer algo” com eles?

LOL, ainda estou aprendendo essa parte. Vou postar o básico em uma postagem futura e colocar um link para ele aqui.

O título do post era “O que é um DomDocument”, espero que você tenha uma ideia agora.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave