如何重命名XML节点名称

时间:2011-06-30 07:06:05

标签: java xml

我想将现有的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解析概念几乎是新手。感谢您提出宝贵的意见。

1 个答案:

答案 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);
        }
    }
}