如何重命名XML节点名称

RAA*_*AAM 6 java xml

我想将现有的XML节点重命名为新名称.我正在使用DOM概念java进行XML解析,我有一组包含相同名称的节点.例如

<names> 
    <abc>Apple</abc> 
    <abc>Ball</abc>
    <abc>Cat</abc> 
    <abc>Doll</abc> 
    <abc>Elephant</abc> 
    </names>
Run Code Online (Sandbox Code Playgroud)

我上面的例子中有一组包含值的节点.在那个例子中我想改变节点值(即)

<names> 
    <name>Apple</name> 
    <name>Ball</name>
    <name>Cat</name> 
    <name>Doll</name> 
    <name>Elephant</name> 
    </names>
Run Code Online (Sandbox Code Playgroud)

这是可以在DOM中做的,我是使用DOM解析概念的新手.感谢您提出宝贵的意见.

Ron*_*Ron 14

与我在更新xml标记的属性时的答案类似:

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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

  • renameNode()是你正在寻找的.您的文档是否有名称空间?这可能会使事情复杂化. (2认同)