Saha
Saha

Reputation: 317

Store xml string in xml file

I am trying to store XML string in XML file in the following way

String appData =  "<Data><element><displayname>John</displayname></element></Data>";


org.w3c.dom.Element appData= doc.createElement("appData");
rootElement.appendChild(appData);
org.w3c.dom.Element appXmlData= doc.createElement("myData");
appData.appendChild(appXmlData);
appXmlData.setTextContent(appData);

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File(path1));
transformer.transform(source, result);

the data is stored in the xml as

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<appData>
<myData>
      &lt;Data&gt;&lt;element&gt;&lt;displayname&gt;John&lt;/displayname&gt;&lt;/element&gt;&lt;/Data&gt;
</myData>

What i want is

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<appData>
<myData>
    <Data><element><displayname>John</displayname></element></Data>
</myData>

Help me in achieving this

Upvotes: 0

Views: 1074

Answers (1)

6ton
6ton

Reputation: 4214

Like you did a

org.w3c.dom.Element appXmlData= doc.createElement("myData");

you have to create child elements for your other nodes:

org.w3c.dom.Element dataNode= doc.createElement("Data");
appXmlData.appendChild(dataNode);

and so on...Since you are using the dom api, it will escape the xml content in your node.

Upvotes: 1

Related Questions