Java 将xml字符串存储在xml文件中

Java 将xml字符串存储在xml文件中,java,xml,dom,Java,Xml,Dom,我试图用以下方式将XML字符串存储在XML文件中 String appData = "<Data><element><displayname>John</displayname></element></Data>"; org.w3c.dom.Element appData= doc.createElement("appData"); rootElement.appendChild(appData); org.w3c.d

我试图用以下方式将XML字符串存储在XML文件中

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);
String appData=“John”;
org.w3c.dom.Element appData=doc.createElement(“appData”);
appendChild(appData);
org.w3c.dom.Element appXmlData=doc.createElement(“myData”);
appData.appendChild(appXmlData);
setextcontent(appData);
TransformerFactory TransformerFactory=TransformerFactory.newInstance();
Transformer Transformer=transformerFactory.newTransformer();
DOMSource=新的DOMSource(doc);
StreamResult=newstreamresult(新文件(路径1));
变换(源、结果);
数据存储在xml中,如下所示:

<?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>

DataElement显示名称John/displayname/element/Data

我想要的是

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

约翰

帮助我实现这一目标,就像你做了一个

org.w3c.dom.Element appXmlData= doc.createElement("myData");
必须为其他节点创建子元素:

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

等等……由于您使用的是dom api,它将转义节点中的xml内容。

您不能,因为“”是xml的特殊关键字,它们不能出现在它的内容中。相反,它们分别替换为和。包含“”的任何xml因为任何内容中的值都不是一个正确的XML,并且将无法通过验证阅读更多信息:您可以使用
CDATA
&在
myData
中添加字符串,这样,只有它才会保留
符号。是的,我可以这样做。但问题是,我有一个很大的XML字符串,这让我不得不寻找替代方法