# mit Transformer.transform ein Element überschreiben



## guni (2. Mrz 2010)

Hallo,

ich habe ein Element e das sehr groß ist.
Nun möchte ich es per xslt umwandeln.
das alte Element interessiert mich dann nicht mehr - nur das Neue!
ich habe versucht etwas in die richtung

Transformer.transform(new DOMSource(e), new DOMResult(e));

zu schreiben, jedoch hat e dann sowohl das alte als auch das neue XML-Fragment gespeichert.
wie kann ich denn das umgehen?!

mfg, guni


----------



## guni (2. Mrz 2010)

hmm ... hab es gelöst indem ich meiner Methode ein return Element mache und dann sage e = transform(e) ...


----------



## guni (2. Mrz 2010)

... sieht also jetzt so aus:

```
t.root = t.xslPreparse();
```


```
public Element xslPreparse() throws TransformerException, IOException
	{
		if (this.xslt_preparse != null) {
			StreamSource xsl = XmlLib.getFileStream(this.xslt_preparse);
			Element e = doc.createElement(this.rootNodeName);
			
			XmlLib.toXml(this.root, xsl, transformparams, null, new DOMResult(e));
			xsl.getInputStream().close();
			
			return e;
		} else {
			return this.root;
		}
```


----------

