字符串到XML,根元素后面的文档中的标记必须格式正确

时间:2015-03-23 15:28:18

标签: java xml xstream

我知道同样的问题已经得到解答但是我的性质有点不同,所以我试图解析XML-String将其写回已经创建的xml文件,我得到的错误是< / p>

  

根元素后面的文档中的标记必须是   良好的。

实际上我知道错误和导致的事情是我在生成的xml-string中没有任何根元素因为我已经在xml中有我的根元素我只是想添加新的xml标签到已创建的文件。

我的xml文件是:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<perk-users>
<user pin="73000001">
  <property email="example@example.com"/>
  <property username="73000001abcdef"/>
  <property ecoid="AXHN6yllzrxGmJduzLzsiOk%3D"/>
</user>
<user pin="73000002">
  <property email="example@example.com"/>
  <property username="73000002abcdef"/>
  <property ecoid="AXHN6yllzrxGmJduzLzsiOk%3D"/>
</user>
</perk-users>

我拥有的xml字符串是:

<user id="73000009">
  <property email="example@example.com"/>
  <property username="73000009abcdef"/>
  <property ecoid="AXHN6yllzrxGmJduzLzsiOk%3D"/>
</user>
<user id="73000004">
  <property email="example@example.com"/>
  <property username="73000004abcdef"/>
  <property ecoid="AXHN6yllzrxGmJduzLzsiOk%3D"/>
</user>

代码是:

DocumentBuilderFactory dbFactory = javax.xml.parsers.DocumentBuilderFactory.newInstance();
            DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
            Document doc = loadDocument();
            Element rootElement = doc.getDocumentElement();

            Document doc2 = dBuilder.parse(new ByteArrayInputStream(generatedXML.getBytes()));

            Node node = doc.importNode(doc2.getDocumentElement(), true);
            rootElement.appendChild(node);
            writeToXML(doc);

所以它基本上在dbuilder.parse()崩溃,因为我知道我的generatedXML中没有根元素,所以请建议我一种方法,我可以写{/ 1}}这个相同的xml字符串。

0 个答案:

没有答案