Hinzufügen einer Zeile zu einer XML-Datei nach bestimmten Tags

1085
nmuntz

Wie können Sie nach bestimmten Tags eine Reihe von XML-Dateien hinzufügen? Die Lösung kann auf der Verwendung von Unix-Tools basieren oder einen Texteditor oder ein Hilfsprogramm benennen, mit dem ich dies schnell und einfach durchführen kann. Ich habe über 60 Dateien, die ich bearbeiten muss.

Ich habe zum Beispiel folgendes XML:

 <Node disablePersistence="true"> <Name>Mapper</Name> <Action> <Class-Name>com.test.component.Mapper</Class-Name> <Param name="output_url" value="constant:file:///output.xml"/> <Param name="xml_url" value="constant:file:///input.xml"/> <Param name="xsl_url" value="constant:file:///template.xsl"/> </Action> <Next-Node>ComposeMessage</Next-Node> </Node> 

Zuerst müsste ich nach dem Tag Node suchen. Dann müsste ich nach dem Tag Name = Mapper suchen. Suchen Sie dann nach dem Tag Action. Suchen Sie dann nach dem Tag Param. Wo sich alle Tags für Param befinden, müssen wir die neue Zeile einfügen:

 <Param name="new_parameter" value="constant:true"/> 

Ist dies möglich oder wird zu viel verlangt und es ist schneller, alle Dateien manuell zu bearbeiten?

1
definitiv möglich Verwenden Sie Notepad ++ unter Windows oder Sublime Text unter Unix oder Windows, und suchen Sie nach der Option zum Ersetzen von Optionen mit Regex (regulärer Ausdruck). Ihr regulärer Ausdruck ist möglicherweise etwas komplex, löst jedoch das Problem für eine beliebige Anzahl von Dateien Art Gertner vor 10 Jahren 1
Vielleicht liefert das ein paar Ideen? http://stackoverflow.com/questions/8772125/editing-xml-files Dies ist sicherlich mit Unix-Scripting möglich, aber mit xml-spezifischen Tools werden unerwartete Unterschiede bei der Eingabe wahrscheinlicher behandelt. Nick Russo vor 10 Jahren 0

0 Antworten auf die Frage