Clever-Excel-Forum

Normale Version: XML Daten mit VBA auslesen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen, 

ich versuche aus einer XML-Datei bestimmte Daten auszulesen und komme einfach nicht weiter. Ich versuche seit Stunden über google Suche und ausprobieren irgendwie an die Daten zu kommen und schaffe es einfach nicht. 

Daher hatte ich gehofft, dass es hier vielleicht irgendjemand gibt, der sich damit auskennt und mir weiterhelfen kann. 

Ich habe eine XML-Datei, die Daten über ein Buch enthält. 

Ich möchte gerne unter anderem den Titel names "FEM" in einer string variable speichern um die dann weiter zu verwenden. 

Der Teil der Datei in dem der Titel steht ist:

Code:
<datafield tag="245" ind1="1" ind2="0">
<subfield code="a">FEM</subfield>
<subfield code="b">Grundlagen und Anwendungen der Finite-Element-Methode im Maschinen- und Fahrzeugbau</subfield>
</datafield>



Mein bisheriger VBA-Code ist:

Code:
Sub GetData()
    Dim URL As String
    Dim XMLData
  

    URL = "https://services.dnb.de/sru/dnb?version=1.1&operation=searchRetrieve&query=WOE%3D978-3-658-06054-1%20sortby%20tit/sort.ascending&recordSchema=MARC21-xml"

    Set XMLData = CreateObject("Microsoft.XMLDOM")
    XMLData.Load URL

End Sub

Das gibt mir ein DOMDocument, was auch immer das ist. 
Es wird mir auf jeden Fall im Variablenbrowser angezeigt und ich kann den Baum auch so weit öffnen, dass ich den Titel finde, ich versteht jedoch einfach nicht, wie ich den Titel in einer String variablen speichern kann. 

Kennt sich damit jemand aus und kann mir helfen?

VG
Hallo,

Schau mal hier:
https://stackoverflow.com/questions/3889...-using-vba

Viele Grüße,
Bernd
Hallo

Hier keine VBA Version, sondern eine PQ Version, allerdings unbearbeitet, vielleicht hilft es.
Ich hab mal erst die XML Datei gespeichert.
Dann reicht:

Code:
Sub M_snb()
  MsgBox Split(Split(Filter(Split(CreateObject("scripting.filesystemobject").opentextfile("G:\OF\dnb_001.xml").readall, "datafield"), "tag=""245""")(0), "subfield code=""b"">")(1), "<")(0)
End Sub