2015-10-16 107 views
1

是否有可能将某些xml元素连接到java对象(使用JAXB)?将多个XML元素连接到一个Java对象

以下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

我不认为这是对你所要求的现有JAXB注解。有来自自定义库的自定义注释,但我想你想留在JAXB标准。

你可以试试这个代码(未测试):

public class User{ 
    ... 

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

但它显然是一个解决办法,而不是最好的解决方案。

+0

谢谢盖尔。该简单的解决方案解决了我的问题。 – snapple