Cos'è un DomDocument?

Sommario

Un DomDocument è un contenitore (variabile/oggetto) per contenere un documento XML nel codice VBA.

Proprio come si utilizza una variabile String per contenere un valore di stringhe, è possibile utilizzare un DomDocument per contenere un documento XML.

(per un elenco completo delle proprietà di un DomDocuments, vedere a metà pagina)

Perché mi interessa cos'è un DomDocument?

Excel ha alcuni modi molto intuitivi per spostare XML in un foglio di calcolo (XML Maps), ma:

•E se volessi manipolare i dati dopo averli recuperati, ma prima che i dati appaiano nelle tue celle?

•E se si desidera importare dati XML in controlli anziché celle mappate, come caselle combinate, etichette o caselle di testo?

Entrambe queste attività sono difficili (se non impossibili) da eseguire utilizzando le mappe XML. Possiamo tuttavia importare i dati XML in un DomDocument, quindi estrarre i dati di cui abbiamo bisogno, scrivere sui controlli, filtrare i dati o manipolare i dati prima che appaiano in un foglio di calcolo.

Come carico XML in un DomDocument?

L'esempio seguente utilizza Excel 2003. Nell'editor di Visual Basic Vai a Strumenti-> Riferimenti e metti un segno di spunta nella casella per "Microsoft XML v5.0"

Ora abbiamo bisogno di un po' di XML. Recentemente ho creato una mappa del sito di Google per questo sito ed è in XML, quindi usiamola: AutomateExcel Google XML Sitemap

Per caricare il mio documento XML SiteMap in un oggetto DomDocument in Excel, usa il seguente codice (che è commentato spiegando le cose):

1234567891011121314151617181920212223242526272829303132333435 Sub DomDocumentBasic()Dim oDom As MSXML2.DOMDocument'Crea l'oggetto DomDocumentImposta oDom = CreateObject("MSXML2.DOMDocument")'Carica l'intero documento prima di andare avantioDom.async = False"Non convalidare"oDom.validateOnParse = FalseoDom.Load ("AutomateExcel Google XML Sitemap")MsgBox oDom.XMLFine sottotitolo

Il codice carica semplicemente l'XML e lo visualizza in una finestra di messaggio:

Nota: se carichi XML da un URL e hai problemi, assicurati di non aver dimenticato la riga "oDom.async = False“.

Come si attraversa il DomDocument?

Ora che ho i dati XML in un oggetto, come posso "fare qualcosa" con esso?

LOL, sto ancora imparando questa parte. Pubblicherò le basi in un post futuro e inserirò un link qui.

Il titolo del post era "Cos'è un DomDocument", spero che tu abbia un'idea ora.

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave