假设我们有一个 org.w3c.dom.Document 表示以下 XML:
<Fruits>
<Apples>
<Red/>
<Green/>
</Apples>
</Fruits>
如果我们知道文档总是包含<Fruits>
如果 root 只有一个 child (在本例中为 <Apples>
,但 child 的名字通常是未知的),我们如何才能使该 child 成为新 org.w3c.dom.Document 的根?换句话说,这个新文档应该表示以下 XML:
<Apples>
<Red/>
<Green/>
</Apples>
我的问题是,当我尝试提取子项时,我无法让它忘记其父项(它仍然记得其在原始文档中的位置)。
最佳答案
类似这样的事情:
Node apples = doc.getFirstChild().getFirstChild();
//or whatever is your way to find the node to copy
Document newDocument = builder.newDocument();
Node applesCopy = newDocument.importNode(apples, true);
newDocument.appendChild(applesCopy);
基本上,您从旧文档中获取一个节点,将其导入到新文档中并将其附加到顶部。
关于java - 如何从另一个文档的子集创建一个新文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3109693/