xml via VBA
07.08.2019 15:15:41
Tom
ich habe ein VBA-Code geschrieben, der eine XML-Datei erstellen soll. Hier der Code:
Private Sub test2()
Dim XDoc As Object, root As Object, elem As Object, XMLCommentTag As Object, XMLHeadTag As _
Object, elem2 As Object, elem3 As Object
Dim copyrightComm As String
copyrightComm = " (C)2019 "
Set XDoc = CreateObject("MSXML2.DOMDocument")
Set XMLCommentTag = XDoc.createComment(copyrightComm)
Set XMLHead = XDoc.createProcessingInstruction("xml", "version='1.0' encoding='UTF-8'")
'Add xml tag
XDoc.appendChild XMLHead
'Add Comment
XDoc.appendChild XMLCommentTag
'Add root tag
Set root = XDoc.appendChild(XDoc.createElement("Root"))
'Add Attribute to root
root.setAttribute "xmlns:xsi", "test"
'Add child to root
Set elem = root.appendChild(XDoc.createElement("Child"))
elem.Text = "test"
'Add Attribute to child
elem.setAttribute "attr1", "value.attr1"
elem.setAttribute "attr2", "value.attr2"
'Add child to child
Set elem2 = elem.appendChild(XDoc.createElement("Childtwo"))
'Add child to root
Set elem3 = root.appendChild(XDoc.createElement("Child3"))
elem3.Text = "test3"
'Save the XML file
XDoc.Save "my_file.xml"
End Sub
Das Erstellen funktioniert auch einwandfrei, jedoch sieht der Inhalt folgendermaßen aus:xml version="1.0" encoding="UTF-8" ?>
test Child >
test3
Eigentlich soll das Element Childtwo das Child von Child sein. Das wird auch so im script deklariert:
'Add child to child
Set elem2 = elem.appendChild(XDoc.createElement("Childtwo"))
Aber als Ausgabe kommt nur der Endtag:Ich bin die ganze Logik oft durchgegangen, allerdings raffe ich nicht, woran es liegt. Würde mich über jeden kleinen Tipp (oder auch größeren) freuen. Danke für die Antworten.