私はJavaプロジェクトでJAXBを使っています。JAXB Marshall&Unmarshall Java complexクラス
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
...
}
まず、あなたが苦しんでいる正確な問題は何ですか?次に、なぜすべてのクラスをルート要素として定義しましたか?私は人がルート要素でなければならないと思う。 – Raptor
クイック返信ありがとう、私はこのような階層的な複雑なオブジェクトを管理する方法を知っていない –