Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

EXCEL VBA XML Attribute auslesen

Empfohlene Antworten

Veröffentlicht

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.