2012-06-11 107 views
2

在Java程序中,我正在使用dom4j處理xml。dom4j-java-如何更改屬性的值

現在,我想更新元素的屬性。

這是我使用來獲取element--

 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.setAttributeValue("indexstart", (String) newstart); 

但是,上述方法已被棄用......我現在如何更新屬性?另外,我想在更新元素'foo'的屬性後立即獲取修改的xml的字符串表示形式,我該怎麼做?

回答

5

JavaDoc改爲使用addAttribute(...)。這個名稱有點令人誤解,因爲它會替換現有屬性的內容 - 與更新值相同。

添加給定完全限定名稱的屬性值。如果給定名稱的屬性已經存在,它將被替換。具有空值的屬性被靜默地忽略。如果該屬性的值爲null,則此方法調用將刪除具有給定名稱的任何屬性。