2012-06-28 78 views
1

我正在使用在.NET應用程序中生成並使用的xml文件。JAXB將分組元素添加到列表中,.NET像

我需要在Java中反序列化此文件並選擇使用JAXB。

但是,在嘗試創建匹配的類後,我發現了一個主要區別。

有當

@XmlRootElement 
public class SomeClass{ 
    List<NestedClass> classes; 
} 

我得到以下結構:

<SomeClass> 
     ... 
     <NestedClasses> 
     ... 
     </NestedClasses> 
     <NestedClasses> 
     ... 
     </NestedClasses> 
    </SomeClass> 

至於oppesed到所需的現有結構:

<SomeClass> 
     ... 
     <NestedClasses> 
      <NestedClass> 
      ... 
      </NestedClass> 
      <NestedClass> 
      ... 
      </NestedClass> 
     </NestedClasses> 
    </SomeClass> 

有沒有一種方法可以讓我不需要添加只包含嵌套類列表的類的所需結構?

回答

0

您將需要一個包裝集合的類。要獲得所需的映射,可以使用註釋來指定應使用分組元素。然後你可以使用@XmlElement批註指定代表集合中的項目元素的名稱:

@XmlRootElement 
public class SomeClass{ 
    @XmlElementWrapper 
    @XmlElement(name="NestedClass") 
    List<NestedClass> classes; 
} 

更多信息