解析XML格式不正确
-
13-09-2019 - |
题
我试图一块(可能)不良HTML的加载到如下对象,但由于存在额外的开/关标记它失败XMLExceptions ...,和畸形XML标签如<img >
代替<img />
我如何获得XML与数据的所有错误解析?有没有办法,我可以解析之前申请,以纠正这些错误的任何XML验证?还是会处理异常解析任何可以解析?
解决方案
在 HTML敏捷性包将解析的HTML,而不是XHTML,而且是相当宽容。如果你已经使用XmlDocument
对象模型会很熟悉。
其他提示
您可能想看看答案这个问题。
beautifulsoup的.NET端口和HTML敏捷包之间基本上某处有一种方法
这是不可能的,你将能够建立具有此级别畸形结构的一个XmlDocument。 XmlDocument的(据我所知)要求XML内容坚持正确的嵌套和关闭语法。
但是,你怀疑,你可以用一个XmlReader解析这个代替。它可能仍然抛出异常如果遇到某些令人震惊的错误,但根据MSDN文档,它至少可以透露的误差的位置。
如果你只是处理HTML,有 HTML敏捷性包一>,其可以用于你的目的。
根据ONT他的特定需求,那么您可以使用 HTML整洁清理文档,然后使用XMLDocument对象导入。
你所试图做的是非常困难的。 HTML不能使用XML解析器,因为XML是严格HTML是无法进行解析。如果HTML是兼容XHTML(HTML作为XML),则XML解析器将解析HTML没有问题。
您可能想看看是否有任何HTML到XHTML转换器在那里,如果你真的想使用HTML的XML解析器。
在换句话说,我还没有遇到一个处理畸形XML的XML解析器,就不是设计成接受宽松的标记,如HTML(有很好的理由,太:))
可以不不良XML加载到XmlDocument
。