我需要使用JAXB将我的XML代码段映射到Java类,但是有一个棘手的情况。我有以下XML:
<person>
<name part="first">Richard</name>
<name part="last">Brooks</name>
</person>
并需要将其映射到以下类
public class Person {
private String firstName;
private String lastName;
}
你能不能帮我弄清楚JAXB注释是否可行?
答案 0 :(得分:3)
@XmlPath("name[@part='first']/text()")
private String firstName;
@XmlPath("name[@part='last']/text()")
private String lastName;
相关问题:
答案 1 :(得分:1)
您可以采用以下方法,但需要为Name创建一个单独的类:
@XmlRootElement
public class Person {
@XmlElement(name="name")
private List<Name> names;
...
}
public class Name {
@XmlAttribute
private String part; //would be set to "first" or "last"
@XmlValue
private String nameValue;
...
}