在Java程序中,我正在使用dom4j处理xml。
现在,我想更新一个元素的属性。
这是我用来获取该元素的代码 -
SAXReader reader = new SAXReader();
doc = reader.read(new StringReader(xmlinput));
Element root = doc.getRootElement();
for ( Iterator i = root.elementIterator( "cloudwhile" ); i.hasNext(); ) {
Element foo = (Element) i.next();
现在,我想更新元素'foo' -
的属性值为此,我尝试使用以下代码 -
foo.setAttributeValue("indexstart", (String) newstart );
然而,上述方法已弃用...如何立即更新属性?另外,我想在更新元素'foo'的属性后立即获取修改后的xml的字符串表示 - 我该怎么做?
答案 0 :(得分:5)
JavaDoc说使用addAttribute(...)
代替。该名称有些误导,因为它将取代现有属性的内容 - 等同于更新值。
添加给定完全限定名称的属性值。如果已存在给定名称的属性,则将替换该属性。静默忽略具有空值的属性。如果属性的值为null,则此方法调用将删除具有给定名称的任何属性。
答案 1 :(得分:1)