我正在Java项目中使用JAXB。
我想用JAXB处理我的数据,但我对这些类有问题。
我应该在字段中添加哪种标签等来进行编组和解组工作?
Wrapper.class
@XmlElement(name="database")
public class Wrapper {
private List <Person> persons;
private List <Quote> quotes;
@XmlElement(name="persons")
public List<Person> getPersons(){
return=this.persons;
}
@XmlElement(name="quotes")
public List<Quote> getQuotes(){
return=this.quotes;
}
}
Person.class
@XmlRootElement(name="person")
public class Person {
private final StringProperty name;
private final StringProperty telephone;
private final StringProperty mail;
private final ObjectProperty<LocalDate> date;
//I have problem with this complex field:
private final ObjectProperty<List <Job>> jobs;
//Constructor getters and setters
...
}
Job.class
@XmlRootElement(name="job")
public class Job {
private final StringProperty roleName;
private final StringProperty id;
//I have problem with this complex field too:
private final ObjectProperty<List <Subrole>> subroles;
//Constructor getters and setters
...
}
Subrole.class
@XmlRootElement(name="subroles")
public class SubRole {
private final StringProperty subRoleName;
private final ObjectProperty<List <String>> actions;
//really don't know how to treat this
private final ObjectProperty<List<List <Activity>>> activities;
//Constructor getters and setters
...
}
Activity.class
@XmlRootElement(name="activities")
public class Activity{
private final StringProperty activityName;
private final FloatProperty salary;
private final FloatProperty hours;
//Constructor getters and setters
...
}
答案 0 :(得分:0)
如果您对该主题缺乏了解,并且您使用的是Eclipse,我建议您根据类层次结构创建自己的XSD(XML Schema Definiton)文件(例如,您可以尝试使用Altova XML Spy)。之后,将xsd移动到您的项目并自动在Eclipse中生成JAXB类(右键单击xsd,您将看到generate选项)。
它将生成您的JAXB类,因此您可以检查它们并学习如何管理这些类型的对象。