2014-11-05 74 views
2

我有以下XML文件:JAXB解组 - 元素一个minOccurs 0,应结合

<?xml version="1.0" encoding="utf-8"?> 
<Paragraph> 
    <ParaStyleName>headline_red</ParaStyleName> 
    <TextStyleRanges> 
     <TextStyleRange> 
      <CharStyleName>[Ohne]</CharStyleName> 
       <Contents> 
        <Content>inhalt</Content> 
        <Content>test text</Content> 
        <SpecialCharacter name="HARD_RETURN"/> 
        <Content> "text here</Content> 
        <SpecialCharacter name="DOUBLE_QUOTE_LEFT"/> 
       </Contents> 
     </TextStyleRange> 
    </TextStyleRanges> 
</Paragraph> 

从这个XML我需要获得这样的内容部分: inhalt测试文本HARD_RETURN“这里DOUBLE_QUOTE_LEFT

文本

对我的标记顺序的<Contents>里面是很重要的,问题是,<SpecialCharacter>的数量,而不是总是解决,而且这个标签的位置是不固定的。

注意:我为此使用JAXB,并且为内容和特殊字符创建了模型类,其中内容为成员ArrayList<Content>ArrayList<SpecialCharacter>,但在这种情况下,我无法链接列表以保持正确的标签顺序。

请帮我解决这个案例。 谢谢!

回答

0

你将需要这两个列表合并如下:

@XmlElements(
    @XmlElement(name="Content", type=Content.class), 
    @XmlElement(name="SpecialCharacter", type=SpecialCharacter.class) 
}) 
public List<Object> getValues() { 
    return values; 
}