# XML Elemente mit JDOM durch Text ersetzen



## MJA (21. Dez 2005)

Hallo.

Ich verarbeite XML Dokumente in JDOM. Dabei möchte ich einige Tags durch Text ersetzten. Es geht darum, aus einer in dem von mir entwickelten XML-Dialekt "PML" geschriebenen XML-Datei eine HTML-Datei zu machen. Dabei sollen alle <pml:insert>-Elemente durch einen Text ersetzt werden. Das soll hinterher ungefähr so wie in XSLT funktionieren, da kann man ja auch über <xsl:variable> eine Variable definieren und deren Inhalt dann später mit <xsl:value-of> einfügen. In meinem Fall sollen die Werte des <pml:insert> Elementes allerdings aus Variablen in meinem Javaprogramm stammen. Mein einziges Problem bei der Sache ist aber halt, wie ich das Element durch den Text ersetze. Ich habe es bis jetzt so gemacht, dass ich das Element einfach zu einem <span> Element geändert habe und alle Attribute gelöscht. Ich hätte aber lieber reinen Text. Über die removeContent()-Methode der abstrakten Klasse Content kann ich das alte Element entfernen, aber ich weiß nicht, wie ich an genau dieser Stelle dann den gewünschten Text einfügen kann.
Kann mir dabei jemand helfen?
Danke.

Gruß,
Jan.


----------



## byte (21. Dez 2005)

MJA hat gesagt.:
			
		

> Mein einziges Problem bei der Sache ist aber halt, wie ich das Element durch den Text ersetze.



Hast Du es mal mit setContent(int) versucht?

http://www.jdom.org/docs/apidocs/org/jdom/Element.html#setContent(int,%20org.jdom.Content)


Damit kannst Du den Content eines Kindes ändern. Und da sowohl Text als auch Element von Content erben, kannst Du damit auch ein Element durch Text ersetzen.


----------



## MJA (25. Dez 2005)

Danke!

Kleine Frage: Wo ist die Methode addAttribute() geblieben??? In "Java ist auch eine Insel" gibt es die und das wäre ja auch durchaus sehr sinnvoll?!


----------

