Hi Joe,
Ich versuche aus Folgendem XML File den Wert 11010016 in eine
Variable zu schreiben. Leider soll es mit nicht gelingen.
hmmm. Dann versuchen wir es mal. Zuerst zerlegen uns wir den Text mal in handliche Häppchen, nämlich Zeilen. Ich nehme dazu mal an, Du hättest Deinen Text an die Variable txt übergeben.
Option Explicit
Dim zl() As String, txt As String
Private Sub Command1\_Click()
zl = Split(txt, VbCrLf)
End Sub
Du siehst das Array Zl()? Keine Angabe, wie viele Felder! Das legt VB mit dem Befehl Split selbst fest. Für Dein Beispiel bedeutet das:
In Zl(0) steht <?xml version="1.0" encoding="UTF-8"?>
in Zl(1) steht
und so weiter.
Eine SingleNode Auslesen ist kein Problem:
msgbox =
xDoc.selectSingleNode(„WBTS.Commissioning.Configuration.Parameters/General.Parameters/File.Author“).Text
aber wie kann ich das Attribut von LCR.Id auslesen ?
<?xml version="1.0" encoding="UTF-8"?>
1
1
1
Nun die Zeilen zu finden, in denen Dein Wert steht ist leicht, der Anfang der Zeile sieht ja immer gleich aus, der Wert ist immer gleich lang, das vereinfacht das Ganze.
In Zl(4) steht:
Wir brauchen also eine Schleife, mit der wir das ganze Array durchsuchen können. Wie viele Felder das Array hat wissen wir nicht, aber VB kennt den kleinsten Index, der steht in LBound(Zl), der größte Index steht in UBound(Zl).
Option Explicit
Dim zl() As String, txt As String, Ret As String
Private Sub Command1\_Click()
Dim i As Long
zl = Split(txt, vbCrLf)
For i = LBound(zl) To UBound(zl)
If Left(zl(i), 13) = "