私は、Java Beanの2つのレベルのXML要素を1つのレベルにマッピングするのが困難に直面しています。ここに私のコンテキストがあり、私はこのような1つのXMLいます2つのXML要素レベルをXStreamまたはJAXBの1つのレベルにマップする方法はありますか?
<?xml version='1.0' encoding="utf-8" ?>
<Employee>
<Data>
<CompanyId>1</CompanyId>
<FirstName>John</FirstName>
<LastName>Oliver</LastName>
<DOB>1986-21-07</DOB>
</Data>
</Employee>
そして、ここでは私のJava Beanがある:
@XStreamAlias("Employee/Data")
public class Employee {
@XStreamAlias("CompanyId") private int companyId;
@XStreamAlias("FirstName") private String firstName;
@XStreamAlias("LastName") private String lastName;
@XStreamAlias("DOB") private LocalDate birthDate;
public int getCompanyId() { return companyId; }
public void setCompanyId(int companyId) { this.companyId = companyId; }
public String getFirstName() { return firstName; }
public void setFirstName(String firstName) { this.firstName = firstName; }
public String getLastName() { return lastName; }
public void setLastName(String lastName) { this.lastName = lastName; }
public LocalDate getBirthDate() { return birthDate; }
public void setBirthDate(LocalDate birthDate) { this.birthDate = birthDate; }
}
は、私はちょうど私がしたい方法を説明するために、「/」で区切られたXML要素を入れますマップが、XStreamはこのようには動作しないようです。アノテーションを使用してマップする方法やカスタムコンバーターを作成する必要がありますか? JAXBでこのマッピングを行う方法を誰かが知っている場合は、歓迎します。