xml Element ersetzen

freehawk

Mitglied
Hallo zusammen,
ich tappe gerade irgendwie ein wenig im Nebel. Ich habe eine große XML Stuktur in einen JDOM Document und eine zweite kleinere Stuktur.
Nun möchte ich die zweite XML in die große an der richtigen Stelle einfügen. Dazu suche ich nach dem Element wo die XML ersetzt werden soll und dann möchte ich das Element mit seinen Unterelement durch ein anderes Document ersetzten.
Ich finde irgendwie die richtigen Methoden nich um das zu tun.

Code:
private Element findTag ( Element root, String tag )
    {
        if( root == null )
        {
            return null;
        }
       
        debug.print ( 3 , "Suchen nach: " + tag );
       
        List<?> enumChilds = root.getChildren();
        Iterator<?> iter = enumChilds.iterator();
        while( iter.hasNext( ))
        {
            Element childElement = (Element)iter.next();
           
            debug.print ( 3 , childElement.getName() );
           
            if( childElement.getName().equals( tag ) )
            {
                return childElement;
            }
            try
            {
                Element foundElement = this.findTag( childElement , tag );
                if ( foundElement != null )
                {
                    return foundElement;
                }
            }
            catch (IllegalArgumentException e)
            {           
                debug.print( 1 , "findTag Fehler: " + e.getMessage() );
            }
        }
        return null;
    }

Damit suche ich nach dem Element, das klappt auch nur das ersetzen von dem Element bekomme ich nicht hin. Vermutlich ist es nicht so schwer nur ich finde bei Google nicht den passenden Beitrag.

Kann mir jemand weiterhelfen?

Danke
 

freehawk

Mitglied
ich habe es so versucht allerdings löscht er weder das Element noch wird was eingefügt:

Code:
element = this.findTag( element, valueName );
       
        debug.print( 2, "Element: " + element.toString() );
       
        this.writeXMLFile( d, "_vorher.xml" );
       
        d.removeContent(element);
       
        this.writeXMLFile( d, "_nachloeschen.xml" );
       
        element = d.getRootElement();
       
        element.setContent( neu.getRootElement() );
       
        this.writeXMLFile( d, "_danach.xml" );
 

freehawk

Mitglied
Die Methode wie in dem Beispiellink funktioniert bei mir nicht.

root.replaceChild(newPersonNode,oldPersonNode);

Kann es sein, dass diese Methode aus JDOM ist? Ich benutze JDOM2. Gibts da was vergleichbares?
 

lordofdonuts

Aktives Mitglied
Du hast da was falsch verstanden, dein Parent-Node ist nicht unbedingt der root-Node. Du brauchst den Parent-Node von dem Knoten, welcher von "findTag" gefunden wurde.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
8u3631984 jaxb XML Mapper - Root Element mit Attribut XML & JSON 20
B DOMParser - Element filtern XML & JSON 1
N jdom2 - Referenz auf Nested Element XML & JSON 2
H XML Element `Class` wird nicht gelesen XML & JSON 2
M Text eines Elements in XML Datei mit JAVA bearbeiten und kompletten Element-Zweig hinzufügen XML & JSON 16
W XML-Element komplett löschen XML & JSON 5
L XML nur ein Element einlesen XML & JSON 2
R XSD in einer choice mehrmals das selbe element möglich XML & JSON 5
S JDom XML ein Element hinzufügen. XML & JSON 1
ARadauer xsd ref auf element oder typen verwenden? XML & JSON 2
R cvc-complex-type.3.2.2: Attribute 'uuid' is not allowed to appear in element 'jasperReport'. XML & JSON 4
F EMF, XSD to ECore mapping, Attribute vs. Element XML & JSON 2
C xml validierung gegen xsd mit jdom: Fehlermeldung Cannot find the declaration of element ... XML & JSON 8
Landei JAXB: Wert von übergeordneten Element XML & JSON 4
N Alle namespaces ins Root Element hinauf ziehen XML & JSON 2
N Alle namespaces ins Root Element hinauf ziehen XML & JSON 2
S Validierung mit JAXB2 ohne root-element XML & JSON 10
E xml Element sortieren XML & JSON 2
T Xpath & JDOM Element Pfad ausgeben XML & JSON 2
Z XML parsen - Element mit Werten XML & JSON 2
enne87 Element-Werte werden falsch ausgelesen XML & JSON 2
M XSD - Child Element möglich, aber nicht zwingend erforderlich XML & JSON 6
N Individuelles Wrapper-Element um Collection mit JAXB XML & JSON 6
W Element mit XPath @id ermitteln wenn nur ein teil der id bekannt ist XML & JSON 2
R Element - Ausgeben von Kommentar XML & JSON 4
L Element manipulieren in einem DOMResult per XPath XML & JSON 10
G mit Transformer.transform ein Element überschreiben XML & JSON 2
G XSL: Element über eine Variable ermitteln XML & JSON 4
sparrow JDom Element.getChild("Name") liefert null obwohl vorhanden XML & JSON 4
B XML-Element als String ausgeben XML & JSON 5
L Element einlesen <Telefon name="Karl">134313 XML & JSON 2
S Cannot find the declaration of element XML & JSON 2
M Jaxb Annotationen, Wert als XML Element XML & JSON 2
O XML Element mit ":" im Namen XML & JSON 23
G Element mit Text und Unterelement XML & JSON 2
S Ampersand im Jdom-Element XML & JSON 2
C jdom.Element nicht vorhanden? XML & JSON 4
W JDOM element ändern funzt nich :( [problem gelöst] XML & JSON 3
M XML einlesen - prüfen ob Element vorhanden XML & JSON 2
F choice-Element mit minOccurs=0" XML & JSON 11
X Xpath, alle Element die mit "user" beginnen auswäh XML & JSON 2
C Mehrere Element_Nodes zusammenfassen zu einem Element XML & JSON 9
K Auf bestimmtes Element im XML zugreifen XML & JSON 3
M JDOM und XPath, zu Element zugehörigen XPath-Ausdruck XML & JSON 5
H Adapter: String->Element bzw. Element->String XML & JSON 6
M JDOM Element ohne Inhalt kopieren ? XML & JSON 3
S String in element casten XML & JSON 2
S Element hinzufügen XML & JSON 2
B Element an bestimmter Stelle einfügen (JDOM) XML & JSON 8
S zum element Attribut xmlns zufügen XML & JSON 6
N bestimmtes Element auslesen - ich verzweifel XML & JSON 3
J [Newbie] [JDOM] Element aus XML entfernen klappt nicht XML & JSON 4
P [Solved] XSL: Element-Variable auslesen XML & JSON 2
Noar XSLT - Element-Wrapping XML & JSON 2
R JDOM Root-Element entfernen aber Rest behalten XML & JSON 10
S Element addContent(Element) gibts nicht XML & JSON 5
R node.getNodeValue() bringt mir komplettes CDATA-Element XML & JSON 3
W Element Liste in Root XML & JSON 5
D Text, String vor einem Root Element einfügen XML & JSON 2
W root element parsen,Hilfe! XML & JSON 5
E Element.setTextContent(String); Ersatz fuer Version 1.4? XML & JSON 3
A NullPointerException bei leerem Element XML & JSON 4
D XML: Element section content does not follow the DTD XML & JSON 6
clemson element mit id in jdom löschen XML & JSON 2
A Element an einer bestimmten Stelle einfügen (nicht am Ende) XML & JSON 4
R JDom: XML Code von Element, und: ist Element ein standalone XML & JSON 2
M Ersetzen zwischen tags XML & JSON 2
M XML Elemente mit JDOM durch Text ersetzen XML & JSON 2

Ähnliche Java Themen

Neue Themen


Oben