我有这个xml:
<Forms>
<Form ID="230688" TemplateID="1111" DocType="1">
<Field name="topmostSubform[0].Page1[0].Street[0]" value="street" />
<Field name="topmostSubform[0].Page1[0].HouseNo[0]" value="18" />
</Form>
<Form ID="230645" TemplateID="5444" DocType="8">
<Field name="topmostSubform[0].Page1[0].city[0]" value="city_name" />
<Field name="topmostSubform[0].Page1[0].number[0]" value="345354" />
</Form>
<Form ID="230690" TemplateID="1123" DocType="8">
<Field name="topmostSubform[0].Page1[0].group[0]" value="group" />
<Field name="topmostSubform[0].Page1[0].phone[0]" value="phone" />
</Form>
我想生成4个xml,其中每个xml由一个单独的表单节点组成。
这是产生的(每个Form节点一个):
<Forms>
<Form ID="230688" TemplateID="1111" DocType="1">
<Field name="topmostSubform[0].Page1[0].Street[0]" value="street" />
<Field name="topmostSubform[0].Page1[0].HouseNo[0]" value="18" />
</Form>
</Forms>
我试过了:
NodeList nodeList = (NodeList) xpath.evaluate("//Forms//Form", parser.doc,XPathConstants.NODESET);
for(int i=0; i<nodeList.getLength(); i++)
{
Document outputDoc = _docBuilder.newDocument();
Element rootElement = outputDoc.createElement("Forms");
Node childNode = nodeList.item(i);
rootElement.appendChild(childNode);
outputDoc.appendChild(rootElement); .....
但是这给出了一个例外:“WRONG_DOCUMENT_ERR:节点用在与创建它的文档不同的文档中。”
答案 0 :(得分:0)
将其他文档中的节点导入此文档,而不从原始文档中更改或删除源节点;此方法创建源节点的新副本。返回的节点没有父节点; (parentNode为null)。