0
我有這樣的XML:拆分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的其中他們每個人由一個單一形式的節點。
即農產品(每個表格節點):
<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:一個節點在不同的文檔比用於創造它的人。「
你的XML是否正確?因爲當我在FireBug中打開它時,我發現每個下一個節點都是前一個節點的子節點。我還在每個標記的結尾處看到斜槓'/',但似乎不起作用。當我在每個之後明確添加一個 標記時,XML就被構建到正確的層次結構中。 –
我會根據vtd-xml提交答案 –