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 を作成したいと思います。私がこれまで試みてきたことはほとんど成功しdBuilder.parseていませんが、ノードを文字列に変換してから文字列を取得することですが、名前空間の問題やその他の問題が発生しているため、機能していません。

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

したがって、これを使用して<Fixed>ノードを取り出し、それがルート ノードである完全に新しいクラスを作成します。

4

1 に答える 1

2

以下に示すように、新しいドキュメントを作成し、そこにノードをインポートします。

Document otherDoc = dBuilder.newDocument();
Node importedNode = otherDoc.importNode(myNode, true);
otherDoc.appendChild(importedNode);
于 2011-01-13T09:11:31.150 に答える