2012-03-22 51 views
3

我使用JDK1.6和的EclipseLink-2.3.2.v20111125-r10461获取使用JAXB(莫西)从XML列表<String>

我有类似于XML:

<alpha> 
    <beta> 
      <omega>abcd</omega> 
      <gamma> 
       <delta>001</delta> 
       <delta>002</delta> 
       <delta>003</delta> 
      </gamma> 
    </beta> 
</alpha> 

我的注释豆的样子:

@XmlRootElement(name = "alpha") 
@XmlAccessorType(XmlAccessType.FIELD) 
public Class Alpha { 

    @XmlPath("beta/omega/text()") 
    private String omegaValue; 

    @XmlElement(name = "delta") 
    @XmlElementWrapper(name = "gamma") 
    private List<String> deltaList; 

    public String getOmegaValue() { 
     return omegaValue; 
    } 

    public void setOmegaValue(String omegaValue) { 
     this.omegaValue = omegaValue; 
    } 

    public List<String> getDeltaList() { 
     return deltaList; 
    } 

    public void setDeltaList (List<String> deltaList) { 
     this.deltaList = deltaList ; 
    } 
} 

在我的测试代码

我做以下检查清单,但它是空的。

System.out.println(alphaInstance.getDeltaList().size());//returns 0!! 
for (String deltaValue: alphaInstance.getDeltaList()) {//empty!! 
    System.out.println(deltaValue); 
} 

我在这里做错了什么? omegaValue工作正常。请帮忙,谢谢。

回答