我有一个像这样的 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>
我想更改具有特定名称的特定作业。我在谷歌上做了一些搜索,但没有任何帮助。有人知道在Java中做到这一点的好方法吗?或者医生也将不胜感激。
我想知道一个方法可能是 changeTimeOfJob(String id, int time)
最佳答案
尝试使用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 html = "<YOURXML>";
Document doc = Jsoup.parse(html);
查看https://jsoup.org/cookbook/extracting-data/selector-syntax欲了解更多信息。
编辑:为您添加选择器。 Edit2:更新了完整代码
Edit3:我现在实际测试了一下,之前有一些错误。
关于java - 修改特定节点的XML文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49789251/