【发布时间】:2014-02-13 12:25:42
【问题描述】:
我有一个 xml 文档,里面有简单的 org.w3c.dom.node 节点。添加新节点总是发生在最后。但是我希望如果我已经确定了一个值为 3 的节点,我应该总是在这个节点之后插入一个新节点。
每当我尝试通过
添加节点时nodeWithValue3.getParentNode().appendChild(newNode);
它总是发生在文档的末尾。
【问题讨论】:
我有一个 xml 文档,里面有简单的 org.w3c.dom.node 节点。添加新节点总是发生在最后。但是我希望如果我已经确定了一个值为 3 的节点,我应该总是在这个节点之后插入一个新节点。
每当我尝试通过
添加节点时nodeWithValue3.getParentNode().appendChild(newNode);
它总是发生在文档的末尾。
【问题讨论】:
我认为你必须逐个节点读取整个xml文件,然后将这些节点写入一个新的xml文件。在写入操作期间,你可以在写入指定节点后写入一个新节点,例如nodeWithValue3。
【讨论】:
由于我花了一些时间想出答案,所以在这里回答,以便有人可以从中获得帮助
我发现我可以做类似下面的事情来达到同样的效果。
node nextNode = nodeWithValue3.getNextSibling();
nodeWithValue3.getParentNode().insertBefore(newChildNode, nextNode);
【讨论】: