3

在 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 的字符串表示形式——我该怎么做?

4

2 回答 2

7

JavaDoc 说要addAttribute(...)改用。该名称有些误导,因为它将替换现有属性的内容 - 相当于更新值。

添加给定完全限定名称的属性值。如果给定名称的属性已经存在,它将被替换。具有空值的属性会被静默忽略。如果属性的值为 null,则此方法调用将删除具有给定名称的所有属性。

于 2012-06-11T13:22:18.397 回答
1

正如文档中所说,请改用addAttribute(String attributeName, String value)

于 2012-06-11T13:19:42.240 回答