2011-04-26 67 views
0

我正在使用XPath读取xml文档,并且需要使用XPath评估的结果创建一个Document对象。有人可以告诉我如何做到这一点?如何创建xml使用XPath结果的文档

+0

的(http://stackoverflow.com/questions/5786936/create-xml-document-using-nodelist) – 2011-04-26 17:38:43

回答

3

假设你的XPath返回一个节点,你可以这样做:

Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); 
doc.appendChild(doc.importNode(xpathResult, true)); 

如果它返回一个节点集,你将不得不自己创建一个根元素。

Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); 
doc.appendChild(doc.createElement("root")); 
for (int i = 0; i < nodeList.getLength(); i++) { 
    Node node = nodeList.item(i); 
    doc.getDocumentElement().appendChild(doc.importNode(node, true)); 
} 
+0

实际上它返回[使用节点列表创建XML文档]可能重复节点集。所以这不适用于我。有没有办法将节点列表附加到文档中。 – nath 2011-04-26 06:11:38

+0

我已经更新了我的答案。 – nabeelmukhtar 2011-04-26 07:56:25