我知道同样的问题已经得到解答但是我的性质有点不同,所以我试图解析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字符串。