java - 仅获取 XML 列表中的最后一个属性值(Java)
问题描述
我对 XML 和 JAVA 有疑问,让我解释一下:
<xml>
<movies>
<movie Detail="N" type="Horror" />
<movie Detail="Y" type="Horror" />
</movies>
</xml>
我想在此 Movie 列表中获取属性 Detail,然后将此值保存在 Value Object 中(带有 Value Object 的部分在这里不感兴趣)
这是我获得这些值的方式:
Element moviesElement = elementXml.getChild("movies");
List<Element> movieElements = moviesElement.getChildren("movie");
String detail= null;
for(Element movieElement : moviesElement) {
detail= movieElement.getAttributeValue("Detail");
}
问题是它只检索最后一个值,我希望它检索所有值,因为之后我需要它来检查另一个条件
请问我该怎么做才能获得所有值,有人有想法吗?
谢谢
解决方案
您需要将这些结果存储在 List 等集合中,请参阅:
Element moviesElement = elementXml.getChild("movies");
List<Element> movieElements = moviesElement.getChildren("movie");
List<String> details= new ArrayList();
for(Element movieElement : moviesElement) {
details.add(movieElement.getAttributeValue("Detail"));
}
//this will print every detail in details
for(String detail: details) {
System.out.println(detail);
}
没有收藏,你就会压倒你的价值观。
推荐阅读
- python-3.x - 如何在 python 中导出加密密钥?
- python - 为什么在此代码中删除了最后一个按钮/任务?
- jenkins - 带有 ldap 的詹金斯:测试 LDAP 设置为用户显示两个组
- c# - Blazor wasm Web API 响应是一个 HTML 字符串
- python - 如何从脚本外部访问python变量
- python - 修改后的快速排序超出了最大递归深度
- javascript - Handlebars & Webpack:包含来自变量的模板
- flutter - 未处理的异常:MissingPluginException(在通道 lyokone/location 上找不到方法 getLocation 的实现)
- javafx - 如何在视图加载后运行代码块
- xml - 在 XSLT 中转换日期时间