我试图一块(可能)不良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

查看的Html敏捷性包在CodePlex

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top