繁体   English   中英

如何使用JAXB将复杂的XML元素映射到Java类属性

[英]How to map complex XML element to Java class property using JAXB

我需要使用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注释是否可行?

您可以使用MOXy执行此操作 ,请参阅@XmlPath

@XmlPath("name[@part='first']/text()")
private String firstName;

@XmlPath("name[@part='last']/text()")
private String lastName;

相关问题:

这是您可以采用的一种方法,但需要您为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;
   ...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM