xml bearbeiten (batch/powershell)

Registriert
Sep. 2021
Beiträge
2
Guten Tag,
Ich versuche ein Batch/Powershell Programm zu Puzzeln, welches:
in einer xml Datei nach <FVALUE> sucht und den Inhalt z.B:<FVALUE>XYZ; 52; green</FVALUE>, beim Semikolon trennt.
Dann sollen die Schnipsel in neuen Zeilen wieder in <FVALUE> verpackt werden.
<FV>XYZ</FV>
<FV>52</FV>
<FV>green</FV>


@Echo off
chcp 65001 >nul
set "XMLFile=DE_nv2045"
set "outFile=new.%XMLFile%"
(call ) >"%outFile%
for "tokens=1* delims=]" %%a in ('type "%XMLFile%"^|find /v /n ""') do (
echo %%b|find /i "<FVALUE>" && (
for /f "tokens=1* delims=;" %%f in ("%%b") do (
"%outFile%" echo %%f^</FVALUE^>
"%outFile%" echo ^<FVALUE^>%%g
)
) || (
)
)

echo
type "%outFile%"
pause


Das ist an code bisher zusammengekommen, es tut aber noch nicht so richtig.
Für jede Hilfe bin ich sehr dankbar :)D
 
Hast Du denn schon mal selbst danach gesucht bzw. gegoogelt? XML bearbeiten man so nicht, sondern man nimmt dafür vorgesehene Powershell-Befehle.
 
  • Gefällt mir
Reaktionen: KitKat::new()
Du selektierst mit XPath die Nodes, splittest den String am Delimiter, fügst neue Knoten dahinter an und entfernst(?) den alten Knoten.

Das kannst du dir für die PowerShell fix zusammensuchen.
 
  • Gefällt mir
Reaktionen: KitKat::new() und Asghan
Zurück
Oben