我的xml文件如下:
<ExternalCases>
<ignoreTag>
<CashLess>
<caseType>CashLess</caseType>
<claimNo>9</claimNo>
<status>Open</status>
</CashLess>
</ignoreTag>
</ExternalCases>
我想在我的Unmarshaller进程中忽略
<ignoreTag>
,并且想要<CashLess>
标记。我的 class 如下:
@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元素。
以下是我回答类似问题的完整示例的链接:
如果
ignoreTag
是分组元素相反,如果
ignoreTag
是集合的分组元素,则可以将其映射为:@XmlElementWrapper(name="ignoreTag")
@XmlElement(name="CashLess", required=false)
public List<CashLess> getCashLess() {
return cashLess;