是否可以将某些xml元素连接到Java对象(使用JAXB)?

给出了以下xml(出于我的控制):

<root>
   <user>
       <user_name>John</user_name>
       <user_lastname>Doe</user_lastname>
       <org_name>ABC</org_name>
       <org_street>Street 123</user_street>
   </user>
</root>


所需结果:

@XmlRootElement(name = "root")
public class FileXML{

   @XmlElement(name = "user")
   private List<User> users;

}

public class User{
   @XmlElement(name = "user_name")
   private String name;
   @XmlElement(name = "user_lastname")
   private String lastname;
   // ???
   private Org org;
}

public class Org{
   @XmlElement(name = "org_name")
   private String name;
   @XmlElement(name = "org_street")
   private String street;
}

最佳答案

我认为您所要求的没有现有的JAXB批注。有来自自定义库的自定义批注,但我想您想保留JAXB标准。

您可以尝试以下代码(未经测试):

public class User{
   ...

   @XmlElement(name = "street")
   public String setStreet(String street) {
       this.org.setStreet(street);
   }
}


但这显然是一种解决方法,而不是最佳解决方案。

关于java - 将多个XML元素连接到一个Java对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33172231/

10-10 23:58