Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JAXB注释将Java列表转换为XML?_Java_Xml_Jaxb - Fatal编程技术网

如何使用JAXB注释将Java列表转换为XML?

如何使用JAXB注释将Java列表转换为XML?,java,xml,jaxb,Java,Xml,Jaxb,如何翻译Java列表 List<String> locations 我使用Spring,我当前得到响应的XML格式是 ... <locations>/bob/app/l1.xml</locations> <locations>/bob/app/l2.xml</locations> ... 。。。 /bob/app/l1.xml /bob/app/l2.xml ... 我使用JAXB注释 @XmlElement(name = "lo

如何翻译Java列表

List<String> locations
我使用Spring,我当前得到响应的XML格式是

...
<locations>/bob/app/l1.xml</locations>
<locations>/bob/app/l2.xml</locations>
...
。。。
/bob/app/l1.xml
/bob/app/l2.xml
...
我使用JAXB注释

@XmlElement(name = "locations")
public void setLocations(List<String> locations) {
    this.locations = locations;
}
@xmlement(name=“locations”)
公共位置(列出位置){
这个位置=位置;
}
UPD

我找到了解决办法。我只需要使用

@XmlElementWrapper(name = "locations")
@XmlElement(name = "location")
public List<String> getLocations() {
    return locations;
}
@xmlementwrapper(name=“locations”)
@xmlement(name=“location”)
公共列表getLocations(){
返回地点;
}

正如@renju所说,你可以这样包装它

@XmlRootElement(name="locations")
public class Locations {

    @XmlElement(name="location")
    private List<String> locations;

    //setter and getter
}
@XmlRootElement(name=“locations”)
公共课地点{
@xmlement(name=“location”)
私人名单地点;
//接二连三
}

这是应用程序内部的响应,还是您希望以XML/Json的形式获得的响应?
a
我希望得到。现在我得到
ab
。您可以在这个方法周围放置一个包装类。用“位置”注释类。将此批注更改为“位置”。希望你能找到你想要的。类似的东西可以在这里找到“我得到了
“位置”:{“位置”:[“A”,“B”]}
你想以{“位置”:[“A”,“B”]}结束吗?是的,我只需要JSON。试着用@JsonProperty(“位置”)注释
@XmlElementWrapper(name = "locations")
@XmlElement(name = "location")
public List<String> getLocations() {
    return locations;
}
@XmlRootElement(name="locations")
public class Locations {

    @XmlElement(name="location")
    private List<String> locations;

    //setter and getter
}