本文介绍了如何在Jaxb中忽略XML中的一些标记的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的xml文件如下:
<ExternalCases>
<ignoreTag>
<CashLess>
<caseType>CashLess</caseType>
<claimNo>9</claimNo>
<status>Open</status>
</CashLess>
</ignoreTag>
</ExternalCases>
我想忽略< ignoreTag>
我想在我的Unmarshaller进程中使用< CashLess>
标记。
i want to ignore <ignoreTag>
and i want <CashLess>
tag in my Unmarshaller process.
我的课程如下:
@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;
}
}
谢谢。
推荐答案
忽略 ignoreTag
你可以创建一个StAX过滤 XMLStreamReader
并让JAXB解组以忽略一个或多个XML元素。
Ignoring ignoreTag
You could create a StAX filtered XMLStreamReader
and have JAXB unmarshal that to ignore one or more XML elements.
- http://docs.oracle.com/javase/7/docs/api/javax/xml/stream/XMLInputFactory.html#createFilteredReader%28javax.xml.stream.XMLStreamReader,%20javax.xml.stream.StreamFilter%29
以下是我在答案中给出的完整示例的链接类似的问题:
Below is a link to a full example I gave in an answer to a similar question:
- JAXB filtered parsing
如果改为 ignoreTag
是集合的分组元素然后你可以把它映射为:
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;
这篇关于如何在Jaxb中忽略XML中的一些标记的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!