Altmeister Geschrieben 16. Dezember 2009 Geschrieben 16. Dezember 2009 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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.