代码之家  ›  专栏  ›  技术社区  ›  Ian Mercer

容错XML读取器

  •  4
  • Ian Mercer  · 技术社区  · 14 年前

    是否有人拥有/制作/销售用于.NET的容错XML读取器?

    是的,我知道,XML并不是被设计成有错误的,如果它无效的话应该被拒绝。。嘘嘘。但遗憾的是,现实世界是不完美的,开发人员确实会犯错误,我仍然希望能够阅读他们的feed,即使我在这里或那里遗漏了奇数元素,因为它没有正确编码或有其他错误。

    那么,是否有人有一个组件可以恢复和处理XML文件中的常见错误?

    5 回复  |  直到 14 年前
        1
  •  3
  •   ykatchou    14 年前

    看看HTML解析器,因为HTML几乎是xml

        2
  •  13
  •   Steve Townsend    14 年前

    正是因为现实世界的不完美,XML才被广泛使用。容错XML解析器的功能规范是什么?这是一个开放性的问题。要解析格式良好的XML的所有变体,而不试图猜测所有可能的错误,这已经足够困难了。

        3
  •  3
  •   Kyle Banerjee    14 年前

    运行XML Beautiful Soup 第一。这将清除XML中的错误,使其正确解析

        4
  •  2
  •   Dan Bryant    14 年前

    XmlTextReader 要分别手动读取每个项,请处理无效项的XmlException。当发生异常时,您将需要使用一个新的读卡器实例,因为原始读卡器已被托管。你还得有有效的 <item> </item> 用于标识每个项的标记,但您将能够从每个项中损坏的数据中恢复。

        5
  •  1
  •   Alexan    7 年前

    是的,我知道这是个老问题,但最近我在寻找宽容的xml解析器,发现了以下内容: XmlParser

    一个受Roslyn启发的完全保真度XML解析器,它不依赖于

    解析器生成一个完整的语法树,这意味着 源文本的字符在树中表示。那棵树 覆盖整个源文本。解析器没有依赖关系,可以 便于携带。