How to ignore some tags in XML in Jaxb

2019-02-19 00:32发布

my xml file is below:

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

i want to ignore <ignoreTag> and i want <CashLess> tag in my Unmarshaller process.

my class like below:

@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;
    }
}

Thanks.

标签: java xml jaxb
2条回答
别忘想泡老子
2楼-- · 2019-02-19 01:16

Ignoring ignoreTag

You could create a StAX filtered XMLStreamReader and have JAXB unmarshal that to ignore one or more XML elements.

Below is a link to a full example I gave in an answer to a similar question:

If ignoreTag is a Grouping Element

If instead ignoreTag is a grouping element for the collection then you could map it as:

@XmlElementWrapper(name="ignoreTag")
@XmlElement(name="CashLess", required=false)
public List<CashLess> getCashLess() {
    return cashLess;
查看更多
一夜七次
3楼-- · 2019-02-19 01:23

Use answers of these questions::

JAXB ignoring xml tag attribute

JAXB - Ignore element

might be helpful!!!

查看更多
登录 后发表回答