1

次のような形式の xml ドキュメント (GWT クライアントの XMLParser ライブラリの Document クラスを使用) があります。

<document><node id="0">content</node><node id="1">more content</node></document>

ID を指定すると、その ID を持つノードの直後に新しいノードを挿入する必要があります。

これまでのところ、(insertAfter がないため) insertBefore を使用してみましが、(js コンソールの UmbrellaException を除いて) 何も起こらないので、間違って使用しているに違いありません。検索エンジンでの使用例が見つかりません。

私の試みは次のとおりです(nは後に挿入したいノードです):

Node nNext = n.getNextSibling(); //To get the next sibling to use it with insertBefore
Element newNode = doc.createElement("node");
newNode.appendChild(doc.createTextNode("new content")); //seems to work up until here
n.insertBefore(newNode, nNext); //so this line could be the problem?
4

1 に答える 1

2

insertBefore親ノードで呼び出す必要があるため、次のようになります。

n.getParentNode().insertBefore(newNode, n.getNextSibling());
于 2012-05-18T01:30:04.690 に答える