Hallo,
der MSXML XML Parser ist eine Komponente, welche in mehreren Versionen auf deinem System bzw. auf dem Server installiert sein kann.
Msxml2.DOMDocument30 ist dabei eine genaue Bezeichnung der Version des DOMDocuments welches zu instanzieren wäre.
Nebenbei hat es dann aber auch noch die Versions-unabhängige CLSID (ClassID), iirc kann das MSXML2.DOMDocument oder eben Microsoft.XMLDOM sein.
Zu deinem eigentlichen Problem, ganz einfach, du brauchst
2 XmlNodeList Listen und damit 2 verschachtelte rosa Schleifchen. (Punkt)
Set objNodeList = objXML.documentElement.selectNodes("//advertiser/*")
-> das selektiert alle Kindknoten (auch Attribute und Kindknoten) von <advertiser>, vielleicht solltest du aber besser objXML.documentElement.selectNodes("//advertiser/auto") verwenden, das ist eindeutiger!
Jetzt hast du eine Liste von allen <auto>'s und deren Kindknoten
oRoot = objNodeList.ChildNode
-> das macht ziemlich wenig Sinn, ehrlich gesagt. Stattdessen bräuchtest du da schonmal ein Schleifchen:
Dim autoNode As IXMLDOMNode
Dim xNode AS IXMLDOMNode
For x = 1 To objNodeList.length 'schleifchen 1
'jetzt holen wir uns mal unser Node Objekt
autoNode = objNodeList.item(x-1)
'und hier kommt jetzt deine Schleife über die Kindknoten von <auto>
for each xNode in autoNode .ChildNodes 'schleifchen 2
' hier kömmt der Rest von deinem Code
next
Next
Wenn du aus diesem ganzen Ding ein bzw mehrere SQL Statements machen möchtest, hättest du mithilfe eines XSL(T)s evt. weniger VBScript-Programmieraufwand??
Ciao, Frank