将多个XML元素连接到一个java对象

时间:2015-10-16 13:51:59

标签: java xml jaxb

是否可以将一些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;
}

1 个答案:

答案 0 :(得分:1)

我认为现有的JAXB注释并不存在。自定义库中有自定义注释,但我想您希望保持JAXB标准。

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

public class User{
   ...

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

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