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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden