怎么能忽略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));