假设我有一个像这样的 dom 节点:
org.w3c.dom.Element 节点:
<node id="101">
<node id="102">
<node id="103" />
</node>
<node id="104">
<node id="103" />
</node>
</node>
要转换 id 属性,我将在我的 Java 代码中执行以下操作:
String nodeId = node.getAttribute("id");
String newNodeId = "prefix/" + nodeId;
node.getAttributeNode("id").setValue(newNodeId);
然后将上面的节点转换为:
<node id="prefix/101">
<node id="102">
<node id="103" />
</node>
<node id="104">
<node id="103" />
</node>
</node>
但是,我想递归地修改所有子节点。预期的转换节点是:
<node id="prefix/101">
<node id="prefix/102">
<node id="prefix'103" />
</node>
<node id="prefix/104">
<node id="prefix/103" />
</node>
</node>
我可以遍历子节点,但节点可能有多个级别的子节点。在这种情况下,根有两个子级别。但是,如果有更多的子级别,那么遍历每个级别的子节点似乎有点尴尬。有没有更直接的方法来完成这项任务?
谢谢,索尼