Microsoft Excel

Herbers Excel/VBA-Archiv

XML Zeilenweise ausl. und in Variabel speichern

Betrifft: XML Zeilenweise ausl. und in Variabel speichern von: tevery
Geschrieben am: 05.11.2020 12:51:52

H

Ich habe ein Problem.
Ich habe verschiedene XML Dateien die auch eine verschiedene Struktur und länge haben.
Jetzt würde ich gerne die XML Zeilenweise auslesen und den wert in eine Variabel speichern.
Leider habe ich bis jetzt nichts gefunden

Beispiel:

testid 123 /testId
test-ip 1.1.1.1 /test-ip
Die spitzen Klammern habe ich wegen der Darstellung weggelassen.

Jetzt soll der Wert 123 in die Variabel testid geschrieben werden und der Wert 1.1.1.1 in die Variabel test-ip geschrieben werden.

Das heißt ich muss beide werte auslesen als variabel setzen und den wert zuweisen(der wert kann auch ein String sein).
Danke

Betrifft: AW: XML Zeilenweise ausl. und in Variabel speichern
von: Oberschlumpf
Geschrieben am: 05.11.2020 12:57:48

Hi,

zeig doch bitte eine Bsp-XML-Datei per Upload.
Wenn XML als Upload-Format nicht zulässig ist, stell die Datei als ZIP-Datei zur Verfügung.

Ciao
Thorsten

Betrifft: AW: XML Zeilenweise ausl. und in Variabel speichern
von: MCO
Geschrieben am: 05.11.2020 13:02:13

Hallo tevery

Da es nur um die Variable bzw den Datensatz geht, beantworte ich auch das mal:
Ich glaub aber nicht, dass der Name "test-ip" zulässig ist wg dem Bindestrich.
dim testid as string
dim test-ip as string
testid = split(str_testID," ")(1)
test-ip  = split(str_test-ip ," ")(1)
Gruß, MCO

Betrifft: AW: XML Zeilenweise ausl. und in Variabel speichern
von: tevery
Geschrieben am: 05.11.2020 13:10:52

Hi

Danke erstmal für die Antworten leider kann ich keine XML Hochladen da sie eine unterschiedliche Größe haben bzw. dem Datenschutz unterliegen.
@MCO: Das ist jetzt nicht das was ich mir vorstelle, ich muss die XML Datei öffnen (kein Problem) und dann Zeilenweise einlesen ob die nun hundert Zeilen oder 10 Zeilen hat, mir ist klar das ich erstmal alle Variablen deklarieren muss die vorkommen könnten. (soll keine Kritik sein)

Ich habe mal nach Parser gesucht bin da aber ein bisschen überfordert.
kann man da nicht mit einer if Abfrage was machen?

Gruss
Tevery

Betrifft: AW: XML Zeilenweise ausl. und in Variabel speichern
von: Oberschlumpf
Geschrieben am: 05.11.2020 13:18:00

du sollst ja auch nich das Original - sondern eine Bsp-XML-Datei - per Upload zeigen!
und wenn du Bsp-Daten in die Bsp-Datei einträgst, dann gibt es auch keinen Datenschutz, der beachtet werden muss...
Und wo is das Problem bei unterschiedlichen Größen der Dateien?!

Betrifft: AW: XML Zeilenweise ausl. und in Variabel speichern
von: peterk
Geschrieben am: 05.11.2020 13:35:34

Hallo

Ein einfacher XML Parser. Die "()" durch "<>" ersetzen nicht vergessen

Sub parseXML()

    Dim objDom As Object
    Dim xmlStr As String
    Dim xPath As String

    xmlStr = _
        "(IP)" & _
           "(testid) 123 (/testid)" & _
           "(test-ip) 1.1.1.1 (/test-ip)" & _
        "(/IP)"

    Set objDom = CreateObject("Msxml2.DOMDocument.6.0")
    
    '/* Load XML from string*/
    objDom.LoadXML xmlStr
    
     '/* Load XML from file*/
    'objDom.Load "filename"
    
    xPath = "/IP/testid"
    Debug.Print objDom.SelectSingleNode(xPath).Text

    xPath = "/IP/test-ip"
    Debug.Print objDom.SelectSingleNode(xPath).Text

End Sub





Betrifft: AW: XML importieren...
von: EtoPHG
Geschrieben am: 05.11.2020 13:41:09

Hallo,

Die Version "ohne Relevanz" sollte für Anfrager mit wenig Excel/VBA Kenntnissen verboten werden!

Die neueren XL Versionen können über das Menü DATEN-Daten abrufen-Aus Datei-Aus XML
problemlos XML Dateien importieren. Aus der entstehenden XL-Tabelle dann die Daten aus den Zellen auszulesen, ist dann kein Problem.
Wenn man sich aber schon von Anfang auf VBA versteift und dann noch Formulierungen wie:
kann man da nicht mit einer if Abfrage was machen? gebraucht, ist das Scheitern vorprogrammiert.
Es gibt keine If Abfragen!
**If **_condition _Then [statements] [**Else **elsestatements] ist eine Anweisung und hilft denn Helfern und Dir soviel wie "...könnte man das auch in einer Schleife machen"

Fazit: Versuch deine XML Datei (ohne Code!) zu importieren!

Gruess Hansueli

Betrifft: hier ein Beispiel
von: Tino
Geschrieben am: 05.11.2020 13:49:41

Hallo,
nur ein Beispiel!

https://www.herber.de/bbs/user/141335.zip

Gruß Tino

Beiträge aus dem Excel-Forum zum Thema "XML Zeilenweise ausl. und in Variabel speichern"