在Java中向XML添加根元素
我有一个XML字符串,如下所示:在Java中向XML添加根元素,java,xml,Java,Xml,我有一个XML字符串,如下所示: <?xml version="1.0" encoding="UTF-8"?> <id>500404</id> <parentid>0</parentid> <version>1</version> <nodes> <id>1015252</id> <category>NODE</category>
<?xml version="1.0" encoding="UTF-8"?>
<id>500404</id>
<parentid>0</parentid>
<version>1</version>
<nodes>
<id>1015252</id>
<category>NODE</category>
<modified>false</modified>
<X>80</X>
<Y>30</Y>
</nodes>
需要帮忙吗 只需在文件后面和结尾添加字符串即可。
我想不必解析整个文档来添加根元素。您的问题是,您的xml字符串格式不正确。根元素必须是唯一的。您有4个根元素:id、parentid、version和nodes
因此,无法使用需要格式良好的输入的XML解析器对其进行解析。恐怕您必须以编程方式或手动方式将字符串修改为文本。在后面插入一个开始标记,并在字符串的末尾添加相应的结束标记。原始文件不是XML-因为它没有根,所以没有XML解析器可以读取它-您必须使用纯文本工具我的正常评论是要求该文件的发件人发送一个有效的XML文件-这是他们的错误
String xmlString = "XML GOES HERE"
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
InputSource inputstream = new InputSource(new StringReader(
xmlString));
Document doc = builder.parse(inputstream);
NodeList nodes = doc.getChildNodes();
Document doc2 = docBuilder.newDocument();
Element rootElement = doc2.createElement("model");
doc2.appendChild(rootElement);
for (int k = 0; k < nodes.getLength(); k++)
{
Node childn = nodes.item(k);
rootElement.appendChild(childn);
}