我有像这样的xml
<list>
<job>
<id>B001</id>
<name>Job1</name>
<time>7</time>
<status>success</status>
</job>
<job>
<id>B002</id>
<name>Job2</name>
<time>1</time>
<status>success</status>
</job>
我想用特定名称更改特定作业。我在google上做了一些搜索,但是没有帮助。任何人都知道在Java中这样做的好方法吗?或者文档也将受到赞赏。
我想知道一种方法可能是changeTimeOfJob(String id, int time)
答案 0 :(得分:1)
尝试使用jsoup
public String changeTimeOfJob(String id, int time){
Document doc = Jsoup.parse(input, "", Parser.xmlParser());
String selection = "job > id:contains("+id+")";
Element resultLinks = doc.select(selection).first();
resultLinks.parent().select("time").first().text(String.valueOf(time));
return doc.html(); // Gives you the resulting XML you can write back to file
}
如果您将xml作为String,请使用:
String html = "<YOURXML>";
Document doc = Jsoup.parse(html);
查看https://jsoup.org/cookbook/extracting-data/selector-syntax以获取更多信息。
编辑:为您选择选择器。 Edit2:更新了完整代码
Edit3:我现在实际测试过,之前有一些错误。