XMLdomWrapper

  • Hallo,

    kann mir jemand bei folgenden Problem helfen?

    Ich will mit hilfe der _XMLDomWrapper.au3 Daten aus einer xml Datei ziehen.
    Aber egal was ich versuche, es klappt nicht. Welchen Befehl brauche ich um die Werte von "typeID=" und "quantity=" aus den Zeilen 16 und 17 zu bekommen?
    Gegeben ist mir die 'itemID="1016930891607"' in Zeile 14


  • Das sind die Attribute:
    _XMLGetAttrib ( strXPath, strAttrib, strQuery = "" ) Get XML attribute based on XPath input from root node.(Requires: #include <_XMLDomWrapper.au3>)
    _XMLGetAllAttrib ( strXPath, ByRef aName, ByRef aValue, strQry = "" ) Get all XML Field(s) attributes based on XPath input from root node.(Requires: #include <_XMLDomWrapper.au3>)
    _XMLGetAllAttribIndex ( strXPath, ByRef aName, ByRef aValue, strQry = "", NodeIndex = 0 ) Get all XML Field(s) attributes based on Xpathn and specific index.(Requires: #include <_XMLDomWrapper.au3>)

    Wenn du mehrere hast, musst du es über Index angeben

    • Offizieller Beitrag

    Bei solch einfach strukturierten Dateien kannst du durchaus auch auf anderem Weg abfragen:

    [autoit]

    #include <String.au3>

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

    $itemID = 1016930891607
    $aMatch = _StringBetween($s, '<row itemID="' & $itemID & '"', '</row>')
    $aSet = _StringBetween($aMatch[0], '<rowset', '</rowset>')
    $aResult = StringRegExp($aSet[0], 'typeID="(\d+)" quantity="(\d+)"', 3)

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

    For $i = 0 To UBound($aResult) -2 Step 2
    ConsoleWrite('ID' & @TAB & $aResult[$i] & @TAB & 'Menge' & @TAB & $aResult[$i+1] & @CRLF)
    Next

    [/autoit]