0

books.xmlこのようなデータを含むファイル が1つあります

<BookDetails>
<Book>
<name>J2ME</name>
<author>abc</author>
<price>123</price>
</Book>
<Book>
<name>java</name>
<author>xyz</author>
<price>1234</price>
</Book>
</BookDetails>  

java という名前の書籍の価格を更新する必要があります。この xml ファイルを新しいコンテンツで更新する必要があります。

これを行う方法?

4

1 に答える 1

1

おそらくJava-me環境で使用できるJavaライブラリであるJSoupを使用することをお勧めします。ライブラリをクラスパスに配置したら、次のコードをインポートすることで、xml を Dom ツリーに変換できます。

import org.jsoup.*
import org.jsoup.nodes.*

JSoup および Document クラスを使用して xml を解析するには、次のようにします。

String xml = "<BookDetails><Book><name>J2ME</name><author>abc</author><price>123</price</Book>" +
"<Book><name>java</name><author>xyz</author><price>1234</price></Book></BookDetails>";

Document doc = Jsoup.parse(xml);

次に、次のメソッドを使用して、メモリ内の xml ブックの価格を更新します。

public void updatePrice(Document doc, String bookName, String newPrice){
    for(Element name : doc.select("book name")){
        if(name.ownText() == bookName){
          name.parent().getElementsByTag("price")[0].text(newPrice);
     }
    }

}

簡単に呼び出すことができるメソッド:

updatePrice(doc, "java", "234");

前に述べたように、メモリ内の xml が更新されるため、変数 doc によって表される変更された xml をファイルに保存する必要があります。

于 2012-04-21T15:12:12.093 に答える