furryhamster
Lt. Commander
- Registriert
- Okt. 2008
- Beiträge
- 1.100
Hi,
habe ein XML-Dokument, welches ein neues Root element erhalten soll. Dazu erstelle eich ein Document um ein bestehendes xml file auszulesen und nehme ein paar änderungen vor.
Anschließend muss ich ein neues root element und und ein weiteres Element einfügen, in das das bestehende xml-dokument rein muss.
ein neues root direkt anlegen geht glaube ich nicht. jetzt habe ich ein neues leeres dokument erzeugt, dort die neuen elemente eingefügt und nun muss noch das bestehende xmlfile mit eingefügt werden. jedoch erhalte ich bei dem Versuch immer folgende Meldung:
WRONG_DOCUMENT_ERR: A node is used in a different document than the one that created it
Hier noch ein bisschen Code:
habe ein XML-Dokument, welches ein neues Root element erhalten soll. Dazu erstelle eich ein Document um ein bestehendes xml file auszulesen und nehme ein paar änderungen vor.
Anschließend muss ich ein neues root element und und ein weiteres Element einfügen, in das das bestehende xml-dokument rein muss.
ein neues root direkt anlegen geht glaube ich nicht. jetzt habe ich ein neues leeres dokument erzeugt, dort die neuen elemente eingefügt und nun muss noch das bestehende xmlfile mit eingefügt werden. jedoch erhalte ich bei dem Versuch immer folgende Meldung:
WRONG_DOCUMENT_ERR: A node is used in a different document than the one that created it
Hier noch ein bisschen Code:
Code:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(XMLFILENAME);
String newContent;
String elementAttribut;
Document newXml = builder.newDocument();
/**
* Neu einzufügende Elemente erzeugen
*/
Element stylesheet = newXml.createElement("xsl:stylesheet");
Element output = newXml.createElement("xsl:output");
Element template = newXml.createElement("xsl:template");
//Neues root Node
//Element root = newXml.createElement(d);
newXml.appendChild(stylesheet);
newXml.getElementsByTagName("xsl:stylesheet").item(0).appendChild(output);
newXml.getElementsByTagName("xsl:stylesheet").item(0).appendChild(template);
newXml.getElementsByTagName("xsl:template").item(0).appendChild(document);