2011-06-30 63 views
5

我想將現有XML節點重命名爲新名稱。我正在使用DOM概念java進行XML解析,我有一組包含相同名稱的節點。例如如何重命名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解析概念..感謝的寶貴意見。

回答

10

我在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); 
     } 
    } 
} 
+0

doc.renameNode不工作...是否有任何替代..? – RAAAAM

+2

renameNode()就是你要找的東西。你的文件是否有命名空間?這可能會讓事情變得複雜。 –