3

我需要解析一个没有根元素、命名空间声明和实体声明的 xml 块,尽管这三个块都包括在内。
到目前为止,我一直在使用Dom4j并围绕内容进行一些包装,但是新的实体和名称空间不断出现,并且DTD/Schema内容的不可访问。

鉴于我无法控制获取 XML 的来源,是否有任何一种java XML parser可以容忍这些错误?

  1. 缺少根元素

  2. 未绑定的命名空间

  3. 未申报的实体

4

2 回答 2

2

您可以尝试使用TagSoup,它可以“原谅”标记中的许多错误。

要解决缺少根元素的问题,您始终可以在需要解析的 XML 块周围添加自己的根元素。

于 2013-08-23T10:08:23.780 回答
0

我认为所有主要的 Java XML 解析器都有这些严格的要求,例如根元素。解决这一切的简单方法是编写自己的 Java XML 解析器。如果您将 XML 纯粹用作配置文件,那么我建议您考虑使用 Java 属性。

谢谢,里斯

于 2013-08-23T10:09:04.097 回答