Veröffentlicht 16. Dezember 200915 j Hallo zusammen, ich versuche bestimmte Werte aus einer XML Datei auszulesen. Da ich bis heute weder viel mit VBA noch mit XML gemacht habe und gar nichts mit beidem zusammen, komme ich momentan nicht weiter und brauche Hilfe. Die XML hat folgendes Format: <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <nas-report date="Datum"> <filesystem name="name"> <filesystem-size> <lun>123</lun> <fs-total>1234</fs-total> <fs-used>1230</fs-used> <fs-avail>4</fs-avail> </filesystem-size> <savvol-size> <sv-total>380000</sv-total> </savvol-size> </filesystem> . . . </nas-report> Ich möchte nun aus bestimmten <filesystem> Elementen die Werte von <fs-total> und <fs-used> auslesen. Mein bisheriger Versuch sieht wie folgt aus: Dim objXML As MSXML2.DOMDocument30 Dim xmlLoaded As Boolean Dim nodeFilesystem As IXMLDOMElement Dim attributeId As IXMLDOMAttribute Set objXML = New DOMDocument30 xmlLoaded = objXML.Load(ActiveWorkbook.Path & "\Datei.xml") If Not xmlLoaded Then 'Fehlerbehandlung Exit Sub End If Set nodeFilesystem = objXML.DocumentElement.SelectSingleNode("/nas-report/filesystem[name="name"]/filesystem-size") Set attributeId = nodeFilesystem.Attributes.getNamedItem("fs_total") Debug.Print attributeId.Text Der Verweis auf die "Microsoft XML 6.0" ist gesetzt. Da bereits der Befehl .SelectSingleNode "nothing" zurückliefert muss dort wohl der erste Fehler liegen. Leider reichen meine Kenntnisse nicht aus um den Pfad korrekt anzugeben. Wenn ich ihn auf .SelectSingleNode("/nas-report/filesystem") verkürze bekomme ich die korrekten Werte 123 1234 1230 4 heraus. Damit erreiche ich jedoch nur das erste Element. Gruß Altmeister
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.