如何在Jaxb中忽略XML中的一些标记

时间:2014-02-12 11:48:57

标签: java xml jaxb

我的xml文件如下:

<ExternalCases>
    <ignoreTag>
        <CashLess>
            <caseType>CashLess</caseType>
            <claimNo>9</claimNo>
            <status>Open</status>
        </CashLess>
    </ignoreTag>
</ExternalCases>

我想在我的Unmarshaller进程中忽略<ignoreTag>并且我想要<CashLess>标记。

我的课程如下:

@XmlRootElement(name="ExternalCases")
public class ExternalCases {

    List<CashLess> cashLess;

    @XmlElement(name="CashLess", required=false)
    public List<CashLess> getCashLess() {
        return cashLess;
    }
    public void setCashLess(List<CashLess> cashLess) {
        this.cashLess = cashLess;
    }
}

感谢。

2 个答案:

答案 0 :(得分:4)

忽略ignoreTag

您可以创建一个StAX过滤的XMLStreamReader并让JAXB解组以忽略一个或多个XML元素。

以下是我在回答类似问题时给出的完整示例的链接:

如果ignoreTag是分组元素

如果ignoreTag是集合的分组元素,那么您可以将其映射为:

@XmlElementWrapper(name="ignoreTag")
@XmlElement(name="CashLess", required=false)
public List<CashLess> getCashLess() {
    return cashLess;

答案 1 :(得分:0)

使用这些问题的答案::

JAXB ignoring xml tag attribute

JAXB - Ignore element

可能会有帮助!!!