DOM XML-Knoten auf falscher Ebene HILFE!

lumpi4ever

Grünschnabel
Hallo Allerseits,

brauch dringend Hilfe in Sachen VBA und XML Erstellung.
Muss ein XML File mit folgendem Format Zielformat.xml erstellen und
hoffe nächste Woche meinen Festvertrag nach 2 Jahren Zeitarbeit zu bekommen!
Ist MEGA WICHTIG für mich

Aktueller Stand meines XML Tree ist: Aktuellesformat.xml

Mein Script:

Dim db As DAO.Database
Dim rstKunden As DAO.Recordset
Dim rstKunden1 As DAO.Recordset
Dim objXML As New MSXML2.FreeThreadedDOMDocument
Dim objElementProjekt As IXMLDOMElement
Dim objElementDetails As IXMLDOMElement
Dim objElementDetails1 As IXMLDOMElement
Dim objNode As MSXML2.IXMLDOMNode
Dim objNodeNeu As MSXML2.IXMLDOMNode
Dim objElementKunde As IXMLDOMElement
Dim objElementTemp As IXMLDOMElement
Dim strXml As String

Set db = CurrentDb
objXML.loadXML "<SHIPMENT>"
Set objNode = objXML.createProcessingInstruction("xml", _
"version='1.0' encoding='utf-8'")
objXML.insertBefore objNode, objXML.childNodes(0)
Set rstKunden = db.OpenRecordset("SELECT * FROM Temp_Daten", _
dbOpenDynaset)
Set objElementProjekt = objXML.createElement("SHIPMENT_HEADER")
objXML.documentElement.appendChild objElementProjekt
With objElementProjekt
Set objElementTemp = objXML.createElement("SEND_REFERENZNR_01")
.appendChild(objElementTemp).Text = rstKunden!Send_Referenznr_01
Set objElementTemp = objXML.createElement("FRACHTFUEHRER")
.appendChild(objElementTemp).Text = rstKunden!FRACHTFUEHRER
Set objElementTemp = objXML.createElement("EMPF_ADR_01")
.appendChild(objElementTemp).Text = rstKunden!EMPF_ADR_01
Set objElementTemp = objXML.createElement("EMPF_ADR_02")
.appendChild(objElementTemp).Text = Nz(rstKunden!EMPF_ADR_02)
Set objElementTemp = objXML.createElement("EMPF_ISO")
.appendChild(objElementTemp).Text = rstKunden!EMPF_ISO
Set objElementTemp = objXML.createElement("EMPF_ORT")
.appendChild(objElementTemp).Text = rstKunden!EMPF_ORT
Set objElementTemp = objXML.createElement("EMPF_PLZ")
.appendChild(objElementTemp).Text = rstKunden!EMPF_PLZ
Set objElementTemp = objXML.createElement("EMPF_STRASSE")
.appendChild(objElementTemp).Text = rstKunden!EMPF_STRASSE
Set objElementTemp = objXML.createElement("SEND_MANDANT")
.appendChild(objElementTemp).Text = rstKunden!SEND_MANDANT
Set objElementTemp = objXML.createElement("SEND_ANZ")
.appendChild(objElementTemp).Text = Nz(rstKunden!SEND_ANZ)
End With
Set objElementDetails = objXML.createElement("SHIPMENT_DETAILS")
objXML.documentElement.appendChild objElementDetails
objElementDetails.appendChild objXML.createElement("PACKAGE")
Set objElementDetails1 = objXML.createElement("PACKAGE_HEADER")
objXML.documentElement.appendChild objElementDetails1
With objElementDetails1
Set objElementTemp = objXML.createElement("ARTIKEL_POS_ANZ")
.appendChild(objElementTemp).Text = Nz(rstKunden!ARTIKEL_POS)
Set objElementTemp = objXML.createElement("SEND_NR")
.appendChild(objElementTemp).Text = Nz(rstKunden!SEND_NR)
Set objElementTemp = objXML.createElement("SEND_VERWENDUNGSZWECK_01")
.appendChild(objElementTemp).Text = _
Nz(rstKunden!SEND_VERWENDUNGSZWECK_01)
Set objElementTemp = objXML.createElement("SEND_HILF_01")
.appendChild(objElementTemp).Text = Nz(rstKunden!SEND_HILF_01)
Set objElementTemp = objXML.createElement("SEND_HILF_10")
.appendChild(objElementTemp).Text = rstKunden!SEND_HILF_10
Set objElementTemp = objXML.createElement("SEND_GEWICHTEINZEL")
.appendChild(objElementTemp).Text = rstKunden!SEND_GEWICHTEINZEL
End With

Dadurch wird zwar der Knoten ("PACKAGE") unter ("SHIPMENT_DETAILS") erstellt,
aber der Knoten ("PACKAGE_HEADER") mit seinen Elementen soll unter den Knoten ("PACKAGE") und nicht wie aktuell auf gleicher Ebene erstellt werden.
Da das meine ersten Erfahrungen mit DOM sind, steh ich auf dem Schlauch...
und bin für jede Hilfe dankbar!

Cu, Björn
 
Zurück