有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

是否可以将一些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) 个答案

  1. # 1 楼答案

    我认为没有一个现有的JAXB注释可以满足您的要求。有来自自定义库的自定义注释,但我想您希望继续使用JAXB标准

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

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

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