我开始学习有关JAXB以及如何解析xml文件的知识。但是,我发现的所有示例始终会解析一个xml文件,该文件中的元素永远不会具有属性,并且xml结构的内容不会很深。 此外,所有示例都为所有包装器元素创建Java类,但在我的情况下,我不需要它们,但它们里面有什么。
例如,我在github上发现了一个具有以下结构的xml文件:
any
我想提取所有城市作为城市类型的对象,并提供有关其国家名称和代码的信息。是否可以在不为State,CountryRegion创建类的情况下执行此操作?如果没有他们,我可以做到这一点吗?我已经知道我必须为Location Element创建一个类,因为它将保存城市列表,但是此List可以仅使用City对象还是必须使用CountryRegion来保存状态列表,而该列表又保存了州列表城市? 还有一些国家有没有属性的国家包装。我怎样才能使JAXB处理那些? 无论您发布的是与我的情况类似的好教程,还是向我解释该怎么做以及在哪里使用注释,都可以。 在下面,您可以看到带有城市列表的位置类和城市类。
<Location>
<CountryRegion Name="United States of America" Code="USA">
<State Name="Alabama" Code="AL">
<City Name="Birmingham" Code="BHM"/>
<City Name="Mobile" Code="MOB"/>
<City Name="Montgomery" Code="MGM"/>
</State>
<State Name="Alaska" Code="AK">
<City Name="Anchorage" Code="ANC"/>
<City Name="Fairbanks" Code="FAI"/>
<City Name="Juneau" Code="JNU"/>
</State>
</CountryRegion>
</Location>
。
import javax.xml.bind.annotation.*;
public class Location {
@XmlElement(name = "City")
private java.utils.List<City> cities;
}
如果对此问题有任何疑问,请告诉我,以便我改善。 谢谢您的帮助