xml – 如何忽略JAXB中的意外的元素情况?

怎么能忽略JAXB中的意外元素的情况呢还是会得到所有其他类型的 javax.xml.bind.UnmarshalException?
obj = unmler.unmarshal(new StringReader(xml))

注意我仍然想得到xml解析的obj结果.

解决方案.

在JAXB中实现ValidationEventHandler像这样:

class CustomValidationEventHandler implements ValidationEventHandler{

    public boolean handleEvent(ValidationEvent evt) {
        System.out.println("Event Info: "+evt);
        if(evt.getMessage().contains("Unexpected element"))
            return true;
        return false;
    }

}

然后

Unmarshaller u = ...;

u.setEventHandler(new CustomValidationEventHandler());

u.unmarshal(new StringReader(xml));

相关文章

引言 NOKIA 有句著名的广告语:“科技以人为本”。任何技术都是为了满足人的生产生活需要而产生的。具体...
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere u want. 文章...
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere u want. 文章...
http://blog.jobbole.com/79252/ 引言 NOKIA 有句著名的广告语:“科技以人为本”。任何技术都是为了满...
(点击上方公众号,可快速关注) 公众号:smart_android 作者:耿广龙|loonggg 点击“阅读原文”,可查看...
一、xml与xslt 相信所有人对xml都不陌生,其被广泛的应用于数据数据传输、保存与序列化中,是一种极为强...