XMLDomWrapper soll XML Pfad mit Attribut auslesen

  • Wurde nun anders gelößt.
    ###############################################################################################

    Moin moin Leute,

    entweder bin ich zu blöd, oder es geht echt nicht wie ich es denke.
    Persönlich tendiere ich zum ersteren ;)

    So
    Problem:
    Ich habe eine XML File und in dieser XML File hat 1 Relevanter Knoten ein Attribute id="1".
    Wie kriege ich die jetzt ausgelesen?
    Es dreht sich um den Inhalt bei:
    /adhoc/measurements/pair id="1"/df_avg

    Das kleine auslese Script von mir schafft es nur, wenn keine ID angegeben ist.
    Dann bekomme ein Array mit 12 Leeren Einträgen zurück (Bis $tempField[12])
    Was ich ansonsten nutzen könnte für die ID ist mir bisher nicht schlüssig gewurden.
    Ausser _XMLGetAttrib.
    Aber das holt nur den Wert des Attributs raus...
    Und nein, ich kann die XML nicht ändern bzw. ändern lassen.

    Für die, welche die XMLDomWrapper gerade nicht zur Hand haben habe ich diese nochmal angefügt.

    "XML File"
    "Code zum Auslesen"
    [autoit]


    #include <_XMLDomWrapper.au3>
    #include <Array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $open = _XMLFileOpen(!!!PFAD ZUR XML BEI EUCH EINTRAGEN!!!)
    ConsoleWrite("$open " & @TAB & $open & @CRLF)
    If $open == 1 Then
    $pfad = "/adhoc/measurements/pair"
    $tempValue = _XMLGetValue($pfad)
    ConsoleWrite("$tempValue " & @TAB & $tempValue & @CRLF)
    ConsoleWrite("!@error " & @error & "| @extended " & @extended & @CRLF)
    If IsArray($tempValue) Then
    For $i = 0 To $tempValue[0] Step 1
    ConsoleWrite("$tempValue["& $i & "] " & @TAB & $tempValue[$i] & @CRLF)
    Next
    EndIf
    ConsoleWrite("-#####################################################" & @CRLF)
    $tempField= _XMLGetField($pfad)
    ConsoleWrite("$tempField" & @TAB & $tempField& @CRLF)
    ConsoleWrite("!@error " & @error & "| @extended " & @extended & @CRLF)
    If IsArray($tempField) Then
    For $i = 0 To $tempField[0] Step 1
    ConsoleWrite("$tempField["& $i & "] " & @TAB & $tempField[$i] & @CRLF)
    Next
    EndIf
    _ArrayDisplay($tempField[1])
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Exit

    [/autoit]

    Danke schonmal fürs anstrengen eure Hirnzellen ;)
    mfg lachi