在j2me中更新XML文件

时间:2012-04-21 14:38:09

标签: xml java-me

我有一个books.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>  

我需要更新名为java的书的价格。我需要使用新内容更新此xml文件。

怎么做?

1 个答案:

答案 0 :(得分:1)

我建议使用JSoup一个你可能可以用于java-me环境的java库。在类路径中拥有库后,可以使用以下代码将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 book的价格:

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。