我想将现有的XML节点重命名为新名称。我正在使用DOM概念java进行XML解析,我有一组包含相同名称的节点。例如
<names>
<abc>Apple</abc>
<abc>Ball</abc>
<abc>Cat</abc>
<abc>Doll</abc>
<abc>Elephant</abc>
</names>
我上面的例子中有一组节点包含值。在那个例子中,我想改变节点值(即)
<names>
<name>Apple</name>
<name>Ball</name>
<name>Cat</name>
<name>Doll</name>
<name>Elephant</name>
</names>
这可以在DOM中完成,我对使用DOM解析概念几乎是新手。感谢您提出宝贵的意见。
答案 0 :(得分:14)
与我在updating a property of a xml tag中的回答类似:
public void changeTagName(Document doc, String tag, String fromTag, String toTag) {
NodeList nodes = doc.getElementsByTagName(fromTag);
for (int i = 0; i < nodes.getLength(); i++) {
if (nodes.item(i) instanceof Element) {
Element elem = (Element)nodes.item(i);
doc.renameNode(elem, elem.getNamespaceURI(), toTag);
}
}
}