Frank (no reg): XML mit VBScript auslesen

Beitrag lesen

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