2011-01-11 79 views
2

我有以下代码:如何从现有的构建器节点构建新的文档构建器?

DocumentBuilderFactory dbFactory_ = DocumentBuilderFactory.newInstance(); 
Document doc_; 
DocumentBuilder dBuilder = dbFactory_.newDocumentBuilder(); 
StringReader reader = new StringReader(s); 
InputSource inputSource = new InputSource(reader); 
doc_ = dBuilder.parse(inputSource); 
doc_.getDocumentElement().normalize(); 

,然后我为了得到一个特定节点遍历doc_。然后我想用该节点创建一个新的dBuilder。到目前为止,我一直试图取得一些成功的是将我的节点转换为字符串,然后得到字符串,但是由于我遇到了命名空间问题和其他问题,所以没有工作。

<Random> 
    <Fixed></Fixed> 
</Random> 

所以这个我想借此<Fixed>节点并创建一个全新的类它是根节点。

+1

为什么你就不能再用原来的`DocumentBuilder`? – skaffman 2011-01-11 23:06:49

回答

2

创建一个新文档,然后输入您的节点进去,如下图所示:

Document otherDoc = dBuilder.newDocument(); 
Node importedNode = otherDoc.importNode(myNode, true); 
otherDoc.appendChild(importedNode);