【发布时间】:2017-02-24 15:56:53
【问题描述】:
在我的 Java Bean 中将两级 XML 元素映射到一级时遇到了一些困难。这是我的上下文,我有一个这样的 XML:
<?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 中进行此映射,也欢迎。
【问题讨论】:
标签: java xml jaxb mapping xstream