2016-02-10 51 views
3

如何翻譯的Java名單如何使用JAXB註釋將Java列表轉換爲XML?

List<String> locations 

成XML表示

... 

<locations> 
    <location>/bob/app/l1.xml</location> 
    <location>/bob/app/l2.xml</location> 
    <location>/bob/app/l3.xml</location> 
</locations> 

... 

並保存JSON兼容的格式在同一時間:

... 

"locations": ["/bob/app/l1.xml","/bob/app/l2.xml"] 

...  

我使用Spring和我目前的XML格式其中我得到的回覆是

... 
<locations>/bob/app/l1.xml</locations> 
<locations>/bob/app/l2.xml</locations> 
... 

我使用JAXB標註

@XmlElement(name = "locations") 
public void setLocations(List<String> locations) { 
    this.locations = locations; 
} 

UPD

我已經找到了解決辦法。我只需要使用

@XmlElementWrapper(name = "locations") 
@XmlElement(name = "location") 
public List<String> getLocations() { 
    return locations; 
} 
+0

在您的應用程序在內部是這樣的,或者是你希望得到儘可能XML響應/ JSON? –

+0

' a'我想要。 – Finkelson

+0

現在我得到' a b'。 – Finkelson

回答

0

爲@renju說,你可以用它像這樣..

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

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

    //setter and getter 
} 
+0

它不適用於JSON。 – Finkelson

+0

我得到了''地點「:{」location「:[」A「,」B「]}' – Finkelson

+0

,你想最終得到{」locations「:[」A「,」B「]}? –