Hey,
ich versuch gerade eine XML-Datei auszulesen. Ansich kein Problem bei Abschnitten ohne Attribute. Kommen Attribute ins Spiel scheitere ich -.-
Derzeit sieht meine test.xml so aus:
<?xml version="1.0" encoding="UTF-8"?>
<contacts>
<contactData errors="TESTWERT1" failures="TESTWERT2" test="TESTWERT3">
</contactData>
<contactData errors1="TESTWERT1" failures1="TESTWERT2" test1="TESTWERT3">
</contactData>
</contacts>
Mit dem folgenden Skript versuche ich die Attribute auszulesen. Als Array klappt es. Aber als normale Consolen- oder MsgBox Ausgabe liest er immer nur einen Wert:
[autoit]#include "_XMLDomWrapper.au3"
#include <array.au3>
_SetDebug (True);show debug messages via console write
$sXmlFile = "test.xml"
;$sXmlFile = FileOpenDialog("", @ScriptDir, "XML (*.xml)", 1)
;ConsoleWrite($sXmlFile&@lf)
If @error Then
MsgBox(4096, "File Open", "No file chosen")
Exit
Else
$oOXml = ""
$oOXml = _XMLFileOpen ($sXmlFile)
EndIf
ConsoleWrite("Debug: $iRET = " & $sXmlFile & @LF)
Dim $aAttrName[1], $aAttrValue[1], $node
$retcnt1 = _XMLGetAllAttribNodeCount ('//contacts/contactData', "")
ConsoleWrite("Nodes: " & $retcnt1& @LF)
For $j = 0 To $retcnt1 - 1
$retval = _XMLGetAllAttribIndex ("//contacts/contactData", $aAttrName, $aAttrValue, "", $j)
ConsoleWrite("Wert:" & $aAttrName[2] & @LF)
ConsoleWrite("Wert:" & $aAttrValue[2] & @LF)
_ArrayDisplay($aAttrName, "Attrib Names")
_ArrayDisplay($aAttrValue, "Attrib Values")
Next
Exit
Irgend ne Ahnung warum?