Java:在不使用renameNode()的情况下更改xml节点名

Java:在不使用renameNode()的情况下更改xml节点名,java,xml,replace,Java,Xml,Replace,我一直在使用document.renameNode()方法重命名xml节点: documentdocument=loadXml(xml); NodeList list=document.getElementsByTagName(“Entry1”); 对于(int i=0;i

我一直在使用document.renameNode()方法重命名xml节点:

documentdocument=loadXml(xml);
NodeList list=document.getElementsByTagName(“Entry1”);
对于(int i=0;i
但是,我部署到的Java版本(1.5.0_09-b03)不支持renameNode方法。你知道我如何以一种与这个版本的Java兼容的方式编写上面的内容吗


提前谢谢。

嗯。。。Java1.5API文档称支持renameNode()。你确定你没有访问该方法的权限吗?您使用的是org.w3c.dom类吗?

正如我在评论中提到的,我能够对字符串执行replaceAll操作,将“Entry1”替换为“Entry”,然后将其作为xml加载


谢谢。

嗨,吉姆-我正在使用org.w3c.dom类。我在服务器上得到的错误是:java.lang.NoSuchMethodError:org.w3c.dom.Document.renameNodeAh。然后问题是服务器没有运行Java1.5,但可能是1.4的版本。你需要升级到1.5。否则,我不确定在DOM3和Java1.5之前,如果不为自己编程renameNode()所经历的所有旋转,这是否可以实现。有关renameNode()的完整说明,请参阅1.5 Javadoc。也许您可以根据需要使用更简单的版本,但实际上您必须创建一个新节点,复制数据,删除旧节点并插入新节点。谢谢Jim,很遗憾,我无法升级服务器版本。服务器确实报告运行1.5.0_09,所以我肯定觉得这很奇怪。幸运的是,我的解决方案很简单:对传入的xml字符串执行replaceAll,将“Entry1”替换为“Entry”。谢谢你的帮助。
 Document document = loadXml(xml);

 NodeList list = document.getElementsByTagName("Entry1");
 for (int i=0; i < list.getLength();)
 {
    document.renameNode(list.item(i), "", "Entry");
 }