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値の属性は、黙って無視されます。属性の値がnullの場合、このメソッド呼び出しは指定された名前の属性をすべて削除します。

于 2012-06-11T13:22:18.397 に答える
1

docsにあるように、addAttribute(String attributeName, String value)代わりに使用してください。

于 2012-06-11T13:19:42.240 に答える