spookypoof
Goto Top

Aus XML Datei per Findstr Text in einer Variable abspeichern?

Yo Leute,

Ich will aus einer XML Datei etwas in einer Variable abspeichern und für die Batch nutzen.

in der XML kommt so etwas vor:
  <id type="integer">130487606</id>  

Das eigentliche Problem ist, ich brauche die Nummer die das steht, also "130487606" das " <id type="integer"></id>" muss ignoriert werden.
Die Zahl kann sich immer ändern. Das ist jetzt nur ein Beispiel.

spookypoof

Content-ID: 230075

Url: https://administrator.de/contentid/230075

Ausgedruckt am: 23.11.2024 um 07:11 Uhr

Endoro
Endoro 16.02.2014 um 15:02:27 Uhr
Goto Top
Hey,
mein Vorschlag:
FOR /f tokens^=3^,4delims^=^<^>^" %%a IN (xml) DO IF /i "%%~a"=="integer" ECHO(%%b  
spookypoof
spookypoof 16.02.2014 aktualisiert um 15:32:41 Uhr
Goto Top
Jo schon mal gut.

Aber funktioniert nicht so wie ich es möchte. Jetzt holt er sich aber alle Zahlen die sich nach "integer" befinden. Hab wohl vergessen zu sagen das es mehrere "type="integer">" in der XML gibt. Und er zeigt es an, und speichert es nicht in einer Variable. Am besten ist es wenn man die suche bis auf der 4. Zeile beschränkt. Aber wie?
Endoro
Endoro 16.02.2014 aktualisiert um 15:51:39 Uhr
Goto Top
Ja, das geht auch:
FOR /f tokens^=1-5delims^=^<^>:^" %%a IN ('findstr /n "^" xml') DO IF %%a LSS 5 IF /i "%%~d"=="integer" ECHO(%%e  

PS: oder lass dir das erste ausgeben:
FOR /f tokens^=3^,4delims^=^<^>^" %%a IN (xml) DO IF /i "%%~a"=="integer" ECHO(%%b&EXIT /b  
spookypoof
spookypoof 16.02.2014 um 15:59:14 Uhr
Goto Top
Hat geklappt! Danke Endoro für die schnelle Hilfe!