Wat is een DomDocument?

Inhoudsopgave

Een DomDocument is een container (variabele/object) voor het bewaren van een XML-document in uw VBA-code.

Net zoals u een String-variabele gebruikt om een ​​tekenreekswaarde vast te houden, kunt u een DomDocument gebruiken om een ​​XML-document op te slaan.

(voor een volledige lijst van eigenschappen van DomDocuments, zie halverwege deze pagina)

Waarom kan het mij schelen wat een DomDocument is?

Excel heeft een aantal zeer intuïtieve manieren om XML naar een spreadsheet (XML-kaarten) te verplaatsen, maar:

•Wat als u de gegevens wilt manipuleren nadat u ze hebt opgehaald, maar voordat de gegevens in uw cellen verschijnen?

•Wat als u XML-gegevens wilt importeren in besturingselementen in plaats van toegewezen cellen, zoals keuzelijsten, labels of tekstvakken?

Beide taken zijn moeilijk (zo niet onmogelijk) uit te voeren met behulp van XML-kaarten. We kunnen de XML-gegevens echter importeren in een DomDocument, vervolgens de gegevens eruit halen die we nodig hebben, naar besturingselementen schrijven, de gegevens filteren of de gegevens manipuleren voordat ze in een spreadsheet verschijnen.

Hoe laad ik XML in een DomDocument?

In het volgende voorbeeld wordt Excel 2003 gebruikt. Ga in de Visual Basic Editor naar Tools->References en plaats een vinkje in het vakje voor "Microsoft XML v5.0"

Nu hebben we wat XML nodig. Onlangs heb ik een Google-sitemap voor deze site gemaakt en deze is in XML, dus laten we die gebruiken: AutomateExcel Google XML-sitemap

Om mijn SiteMap XML-document in een DomDocument-object in Excel te laden, gebruikt u de volgende code (die is becommentarieerd om dingen uit te leggen):

1234567891011121314151617181920212223242526272829303132333435 Sub DomDocumentBasic()Dim oDom As MSXML2.DOMDocument'Maak het DomDocument-object'Stel oDom = CreateObject ("MSXML2.DOMDocument") in'Laad het hele document voordat u verder gaat'oDom.async = False'Niet valideren'oDom.validateOnParse = FalseoDom.Load ("AutomatiseerExcel Google XML-sitemap")MsgBox oDom.XMLEinde sub

De code laadt eenvoudig de XML en geeft deze weer in een berichtvenster:

Opmerking: als u XML laadt vanaf een URL en problemen ondervindt, zorg er dan voor dat u de regel "oDom.async = False“.

Hoe doorkruis ik het DomDocument?

Nu ik de XML-gegevens in een object heb, hoe kan ik er dan "iets" mee doen?

LOL, ik ben dit deel nog aan het leren. Ik zal de basis in een toekomstig bericht plaatsen en hier een link naar plaatsen.

De titel van het bericht was "Wat is een DomDocument", hopelijk heb je nu een idee.

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave