Reputation: 317
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>
<Data><element><displayname>John</displayname></element></Data>
</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
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