2017-11-16 5 views
0

Eingang:xmlstarlet: get genauer Wert

<ReferenceTitle> 
    <TitleText>Mozart - Don Giovanni</TitleText> 
    </ReferenceTitle> 

mein Code:

for /R %%a in (*.xml) do (
    for /f %%i in ('%root%\files\xml.exe sel -v "/ernm:NewReleaseMessage/ResourceList/SoundRecording/ReferenceTitle/TitleText[1]" %%a') do set titel=%%i 
    ) 

Ich mag den genauen (gesamten) Wert der Verwendung von XML-Starlet bekommen, aber alles, was ich bin immer ist 'Mozart'. Was vermisse ich?

+0

Mit xmlstarlet für Linux: 'xmlstarlet sel-t-v" // TitleText "file.xml" – Cyrus

Antwort

0

Versuchen Sie for /f "delims=" %%i in etc... andernfalls ist das Standardtrennzeichen ein Leerzeichen, daher erhalten Sie nur das erste Wort. Die Option /f "delims=" besagt, dass es kein Trennzeichen gibt und Sie die ganze Zeile erhalten. Geben Sie for /? für weitere Details ein.