1

我有一个 xml 文档(使用 GWT 客户端的 XMLParser 库中的 Document 类),格式如下:

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

给定一个 ID,我需要在具有该 ID 的节点之后立即插入一个新节点。

到目前为止,我已经尝试使用insertBefore(因为没有 insertAfter),但我必须错误地使用它,因为没有任何反应(除了 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 回答