Java在解析错误时跳过XML子树

时间:2014-07-01 18:34:20

标签: java xml

所以我想解析一个包含类似对象集合的XML StreamSource。 但是,流有时包含不受支持的字符,这使得解析过程失败。

现在我要做的是跳过包含无效字符的子树并解析其余部分。

例如,假设XML包含一组用户,每个用户都有名称和统计信息属性(关注者,帖子等),其中一个用户名包含无效字符。我希望能够跳过相同但仍然能够解析用户对象的其余部分。

有办法吗?你需要额外的信息吗?请告诉我。

仅供参考:我正在使用javax.xml.bind.Unmarshaller和JAXBContext来解析流。

1 个答案:

答案 0 :(得分:0)

我所知道的所有基于文档的解析器都将在验证阶段失败,因此您将需要使用基于事件的解析器(SAX)。我使用TagSoup取得了成功,这是一个宽容的xml解析器。

http://home.ccil.org/~cowan/XML/tagsoup/