简体   繁体   English

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

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

I need to map my XML snippet onto Java class using JAXB, but have a tricky case. 我需要使用JAXB将我的XML片段映射到Java类,但是有一个棘手的情况。 I have the following XML: 我有以下XML:

<person>
  <name part="first">Richard</name>
  <name part="last">Brooks</name>
</person>

and need to map it onto the following class 并需要将它映射到下面的类

public class Person {

   private String firstName;
   private String lastName;
}

Could you please help me to figure out JAXB annotations to make it possible? 你能帮我弄清楚JAXB注释是否可行?

You can do this with MOXy , see @XmlPath . 您可以使用MOXy执行此操作 ,请参阅@XmlPath

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

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

Related questions: 相关问题:

Here is one approach you could take, but would require you to create a separate class for Name: 这是您可以采用的一种方法,但需要您为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.

相关问题 JAXB如何将类名映射到XML元素名称? - How does JAXB map a class name to an XML element name? 如何使用jaxB或任何其他更好的方法将xml属性值映射到java类属性? - How to map xml attribute values to java class attributes using jaxB or any other better method? 如何使用jaxb将包含相同元素的不同类型元素映射到单个java类objetc中 - How to Map different type of element which contains same into single java class objetc using jaxb 如何使用jaxb将XML转换为Java中的对象映射? - How to get XML to Map of Objects in Java using jaxb? 如何在JAXB Adapter中使用属性作为键并将整个元素用作值将复杂元素解析为Map - How to parse a complex element into a Map, using a attribute as key and the whole element as value, in JAXB Adapter 如何使用JAXB编组带有XML根元素的java List? - How to marshal a java List with out XML root element using JAXB? 使用JAXB从Java对象创建xml时,如何在JAXB中创建嵌套的根元素 - How to create nested Root Element in JAXB when creating xml from Java object using JAXB 如何使用JAXB映射XML忽略名称空间? - How to map a XML ignoring namespace using JAXB? 首次使用JAXB将XML映射到Java类-在构造方面需要一些帮助 - First time using JAXB to map XML to a Java Class — need some help in construction 如何使用Jaxb将xml转换为Java类? - How to convert xml to Java class with Jaxb?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM