我有一个将xml文件转换为java对象的硬连接,并希望得到一些帮助。问题如下:
我有一个服务器类,其中有2个子类名为 UserList 和 EventList 。
( UserList 包含用户列表)和 EventList 包含事件列表。
我应该从包含Event类及其所有信息的实例的文件中读取信息。我的类Event定义如下:
public class MediaPlayerUIViewModel : UserControl, INotifyPropertyChanged
在我的主课程中,我试图用JAXBContext解组xml:
@XmlRootElement
public class Event {
@XmlElement
private String title;
@XmlElement
private List<Stand> stands;
public Event(String title, List<Stand> stands) {
this.title = title;
this.stands = stands;
}
示例XML文件有一个示例立场:
JAXBContext jaxbContext = JAXBContext.newInstance(Event.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
File file = new File("exhibition1_v0.1.xml");
Event event = (Event) unmarshaller.unmarshal(file);
System.out.println("Event name :" +event.getTitle());
for( Stand s: event.getStands()){
System.out.println(s);
}
我得到以下输出:
<event>
<title>exhibition1</title>
<stands>
<stand>
<description>Stand 1</description>
<area>37</area>
<relativeDistanceSet>
<distance>
<description>Stand 2</description>
<value>9</value>
</distance>
<distance>
<description>Stand 3</description>
<value>7</value>
</distance>
<distance>
<description>Stand 4</description>
<value>12</value>
</distance>
</relativeDistanceSet>
</stand>
</stands>
.....
应该得到:
Event name : exhibition1
Stand{descri=null, area=0.0, relativeDistanceSet=null}
我的错误在哪里?
答案 0 :(得分:0)
我认为你也需要注释班级。
这样的事情(班级成员根据你的预期输出猜出):
@XmlRootElement
public class Stand {
@XmlElement
private String descri;
@XmlElement
private double area;
@XmlElement
private List<RelativeDistanceSet> relativeDistanceSet;