仅获取XML列表Java中的最后一个属性值

问题描述

我在使用XML和JAVA时遇到问题,请让我解释一下:

Unexpected token 'if'

我想在此电影列表中获取详细信息属性,然后将该值保存在Value Object中(带有Value Object的部分在这里不有趣)

这是我获得这些值的方式:

<xml> 
    <movies>
        <movie Detail="N" type="Horror" />
        <movie Detail="Y" type="Horror" />
    </movies>
</xml>

问题在于它只检索最后一个值,我希望它检索所有值,因为以后需要它来检查另一个条件

如果有人有想法,我该如何获取所有价值?

谢谢

解决方法

您需要将这些结果存储在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);
}

没有集合,您将覆盖您的价值观。