Gegeben die folgende XML-Datei:
%Vor% Ich möchte ein neues Element innerhalb von <sequence></sequence>
nach einem bestimmten bereits vorhandenen Element hinzufügen. Wenn ich zum Beispiel den Knoten nach "Assign1"
hinzufügen möchte, sollte das neue XML wie folgt aussehen:
Ich muss dies tun, indem ich Java DOM in einer Funktion verwende. Die Funktionssignatur sollte so aussehen:
%Vor%Wo:
name
ist das vorbestehende Element, nach dem die Einfügung vorgenommen wird; stepType
ist der eingefügte Elementtyp; stepName
ist das Namensattribut des neu eingefügten Elements. Zur Zeit habe ich keine Erfahrung mit JDOM oder einer anderen Java XML-Bibliothek. Können Sie mir bitte einen Beispielcode geben oder auf ein Tutorial zeigen, wo ein Einfügen nach einem bestimmten Element vorgenommen wird.
Dies ist der Code, den ich bis jetzt habe:
%Vor% Ok, Aaron Digulla hat mich bezüglich der Geschwindigkeit geschlagen. Ich musste es auch selbst herausfinden.
Ich habe cnl.item(i+1)
aber nextSibling()
nicht verwendet:
Sie können keine Knoten an einem bestimmten Index einfügen. Die einzigen Methoden zum Einfügen von Knoten sind
%Vor%und
%Vor%Wenn es eine Methode insertAfter (Node new, Node child) gäbe, wäre dies sehr einfach für Sie. Aber leider nicht.
Es ist einfach, aber die org.w3c.dom API ist ein bisschen ... seltsam für diese:
%Vor%Mit JDom ist es einfacher:
%Vor%