2011-09-26 65 views
2

簡單的任務,我需要產生這種XML:resteasy,jaxb - 如何生成一個集合/字符串列表?

<collection> 
    <name>bill</name> 
    <name>monica</name> 
<collection> 

,而不是這個(見下面的例子:19.6. Arrays and Collections of JAXB Objects):

<collection> 
    <customer><name>bill</name></customer> 
    <customer><name>monica</name></customer> 
<collection> 

簡單收集處理字符串。所以問題是如何去除周圍的customer元素?我如何用RESTeasy和JAXB來做到這一點?

回答

3

Customer類映射與@XmlValue註釋的name屬性:

public class Customer { 

    private String name; 

    @XmlValue 
    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

} 

更多信息

+0

感謝很多答案。我已經忘了你的博客,我應該先看看那裏:-)但是生活並不容易,我現在得到的異常是:'@XmlValue不允許在派生另一個類的類上。我試着在超類上使用'@ XmlTransient',但它不工作,有什麼想法? –

+0

@XmlTransient應該修復你的問題(http://blog.bdoughan.com/2011/06/ignoring-inheritance-with-xmltransient.html)。您的超類有任何映射到XML元素的屬性嗎?你知道你正在使用哪種JAXB實現嗎(jaxbContextInstance.getClass()')的結果是什麼? –

+0

超類的'@ XmlTransient'修復了這個問題,它現在正如我所期望的那樣工作。謝謝。 –

相關問題