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

前端之家收集整理的这篇文章主要介绍了xml – 如何忽略JAXB中的意外的元素情况?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
怎么能忽略JAXB中的意外元素的情况呢还是会得到所有其他类型的 javax.xml.bind.UnmarshalException?
  1. obj = unmler.unmarshal(new StringReader(xml))

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

解决方案.

在JAXB中实现ValidationEventHandler像这样:

  1. class CustomValidationEventHandler implements ValidationEventHandler{
  2.  
  3. public boolean handleEvent(ValidationEvent evt) {
  4. System.out.println("Event Info: "+evt);
  5. if(evt.getMessage().contains("Unexpected element"))
  6. return true;
  7. return false;
  8. }
  9.  
  10. }

然后

  1. Unmarshaller u = ...;
  2.  
  3. u.setEventHandler(new CustomValidationEventHandler());
  4.  
  5. u.unmarshal(new StringReader(xml));

猜你在找的XML相关文章