Vad är ett DomDocument?

Innehållsförteckning

Ett DomDocument är en behållare (variabel/objekt) för att hålla ett XML -dokument i din VBA -kod.

Precis som du använder en strängvariabel för att hålla ett strängvärde kan du använda ett DomDocument för att hålla ett XML -dokument.

(för en fullständig lista över DomDocuments -egenskaper, se halvvägs ner på denna sida)

Varför bryr jag mig om vad ett DomDocument är?

Excel har några mycket intuitiva sätt att flytta XML till ett kalkylblad (XML -kartor), men:

• Vad händer om du vill manipulera data efter att du har hämtat den, men innan data visas i dina celler?

• Vad händer om du vill importera XML -data till kontroller istället för mappade celler, som kombinationsrutor, etiketter eller textrutor?

Båda dessa uppgifter är svåra (om inte omöjliga) att utföra med XML -kartor. Vi kan emellertid importera XML -data till ett DomDocument och sedan dra ut den data vi behöver, skriva till kontroller, filtrera data eller manipulera data innan de visas i ett kalkylblad.

Hur laddar jag XML i ett DomDocument?

Följande exempel använder Excel 2003. I Visual Basic Editor Gå till verktygs-> Referenser och markera en kryssruta för "Microsoft XML v5.0"

Nu behöver vi lite XML. Nyligen skapade jag en Google -webbplatskarta för den här webbplatsen, och den är i XML, så låt oss använda det: AutomateExcel Google XML -webbplatskarta

För att ladda mitt SiteMap XML -dokument till ett DomDocument -objekt i Excel, använd följande kod (som kommenteras förklarar saker):

1234567891011121314151617181920212223242526272829303132333435 Sub DomDocumentBasic ()Dim oDom som MSXML2.DOMDocument'Skapa DomDocument -objektetAnge oDom = CreateObject ("MSXML2.DOMDocument")'Ladda hela dokumentet innan du går vidareoDom.async = Falskt'Validera inteoDom.validateOnParse = FalsktoDom.Load ("AutomateExcel Google XML -webbplatskarta")MsgBox oDom.XMLAvsluta Sub

Koden laddar helt enkelt XML och visar den i en meddelanderuta:

Obs! Om du laddar XML från en URL och har problem, se till att du inte glömde raden "oDom.async = Falskt“.

Hur går jag igenom DomDocument?

Nu när jag har XML -data i ett objekt, hur "gör jag något" med det?

LOL, jag lär mig fortfarande den här delen. Jag lägger ut grunderna i ett framtida inlägg och släpper en länk till det här.

Inläggets titel var "Vad är ett DomDocument", förhoppningsvis har du en idé nu.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave