Parse XML-Datei mit VBA

Ich habe eine XML-Datei mit einer Struktur ähnlich zu diesem:

<egh_eval>
<eval_set>
    <eval_id>FLOAT</eval_id>
    <eval_d>
        <height>INT</height>
        <weight>INT</weight>
    </eval_d>
    <eval_e>
        <height>INT</height>
        <weight>INT</weight>
    </eval_e>
    <eval_cred>
        <credit>FLOAT</credit>
    </eval_cred>
</eval_set>

Muss ich analysieren, die komplette Datei und legen Sie es in eine Tabelle. (Hinweis: eval_d und eval_e tatsächlich haben mehr als hundert Parametern). Ich habe versucht, mit MSXML2 aber ich stecken, wenn ich versuche, analysieren der Datei. Mithilfe der Antworten auf Wie pase XML in VBA und Analysieren von XML in VBA ich war in der Lage, es zu erhalten :

Dim fSuccess As Boolean
Dim oDoc As MSXML2.DOMDocument
Dim oRoot As MSXML2.IXMLDOMNode ' Level 0 egh_eval
Dim oChild As MSXML2.IXMLDOMNode ' Level 1 eval_set
Dim oChildren As MSXML2.IXMLDOMNode ' Level 2 eval_id, eval_d, eval_e, eval_cred


Dim domList As MSXML2.IXMLDOMNodeList

Set oDoc = New MSXML2.DOMDocument
oDoc.async = False
oDoc.validateOnParse = False

fSuccess = oDoc.Load(Application.CurrentProject.Path & "\file.xml")

Set oRoot = oDoc.documentElement
Set oChild = oRoot.childNodes(0)
Set oChildren = oChild.childNodes(0)

For i = 0 To oChild.childNodes.length - 1
    For y = 0 To oChildren.childNodes.length - 1
        MsgBox oChildren.nodeName & " : " & oChildren.nodeTypedValue
        oChildren.childNodes.nextNode
    Next
    oChild.childNodes.nextNode
Next

Jedoch, anstatt mir die richtigen Werte, es gibt mir die Schwimmer in eval_id 4 mal...

Dank !

EDIT: ich bin mit Microsoft Access 2002 SP3

Welche version von MS Access sind Sie mit ( msdn.microsoft.com/en-us/library/ff823157.aspx ) ?
Ich bin mit microsoft access 2002 SP3. Ich habe versucht, die importXML-Methode, allerdings I wirklich mochte, wie es wäre, eine separate Tabelle für jeden meiner level-2-Daten. Alle Daten werden in derselben Tabelle. Auch ich habe zur Kontrolle die Namen der Spalten, in denen die Daten geht, die irgendwann in der Zukunft.
Können Sie zeigen die erwartete Ausgabe?

InformationsquelleAutor Estarius | 2012-07-16

Schreibe einen Kommentar