Tags aus xml-Dateien automatisch löschen
Hallo,
ich habe auf "C:\Users\zini\Desktop\Export" immer wieder mehrere xml-Dateien, aus denen ich "<DUM>" und "</DUM>" löschen möchte. "<DUM>" steht immer (alleine) in Zeile 3, </DUM> immer in der letzten Zeile, wobei die verschiedenen xml-Dateien nicht immer gleich viele Zeilen haben.
Hier ein Ausschnitt:
<?xml version="1.0" encoding="UTF-8"?>
<!-- exportiert aus Datenbank: DUM>
<DUM>
<record>
<inventory_number>01-0212</inventory_number>
[…]
</record>
</DUM>
Gibt es die Möglichkeit, das irgendwie automatisch zu lösen, z.B. per Batch? Vielleicht kann mir ja jemand helfen. Schon jetzt vielen Dank!
ich habe auf "C:\Users\zini\Desktop\Export" immer wieder mehrere xml-Dateien, aus denen ich "<DUM>" und "</DUM>" löschen möchte. "<DUM>" steht immer (alleine) in Zeile 3, </DUM> immer in der letzten Zeile, wobei die verschiedenen xml-Dateien nicht immer gleich viele Zeilen haben.
Hier ein Ausschnitt:
<?xml version="1.0" encoding="UTF-8"?>
<!-- exportiert aus Datenbank: DUM>
<DUM>
<record>
<inventory_number>01-0212</inventory_number>
[…]
</record>
</DUM>
Gibt es die Möglichkeit, das irgendwie automatisch zu lösen, z.B. per Batch? Vielleicht kann mir ja jemand helfen. Schon jetzt vielen Dank!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 557125
Url: https://administrator.de/forum/tags-aus-xml-dateien-automatisch-loeschen-557125.html
Ausgedruckt am: 11.04.2025 um 20:04 Uhr
9 Kommentare
Neuester Kommentar

Das einzige Document-Element zu löschen ist keine gute Idee wenn darin mehrere Elemente mit gleichem Namen sind, dann ist das XML nämlich nicht mehr valide und es kommt zu diesem Fehler...
Und XML-Dateien sollte man immer durch einen Parser jagen und nicht rein per Text bearbeiten führt schneller zu Fehlern als du denkst.
Error: "Das Dokument verfügt bereits über einen 'DocumentElement'-Knoten."

Dann nimm gleich die Powershell, dann kannst du auch sicher sein das die Datei hinter auch noch valide ist (Wie gesagt XML nur mit Parser!)
gci 'C:\Users\zini\Desktop\Export' -File -Filter *.xml | %{
$xml = New-Object XML
$xml.Load($_.Fullname)
$node = $xml.SelectSingleNode("/DUM/*")
$xml.RemoveChild($xml.DocumentElement) | out-null
$xml.AppendChild($node) | out-null
$xml.Save($_.Fullname)
}

Bidde, und bitte als gelöst markieren nicht vergessen.