HtmlAgilitypack无法加载某些html代码。在w3wp.exe

时间:2018-11-01 07:39:00

标签: c# parsing html-agility-pack w3wp

我终于设法隔离出与HtmlAgilityPack有关的问题。

有一段时间,我的w3wp崩溃了,导致发生了unhandled .net Framework exception,并且应用程序池重新启动。

使用Debug Diagnostic后,我发现尝试加载此链接的html结果时出现了问题:

https://tourette-syndrom.de/eingangsseite.htm

查看源代码后,我发现有大量<o:p>节点从未关闭,这导致解析器失败。

我使用LoadHtml,这是我需要使用的东西。

如果我使用htmlDoc.Load并通过URI链接而不是html字符串, 它会产生无法捕获的错误。

System.Security.Permissions.FileIOPermission.EmulateFileIOPermissionChecks

该错误并没有告诉我任何信息,但是w3wp应用程序没有崩溃!

我已经对truefalse都测试了这些选项,但是应用程序仍然崩溃。

 htmlDoc.OptionFixNestedTags
 htmlDoc.OptionAutoCloseOnEnd
 htmlDoc.OptionWriteEmptyNodes 

如果我像这样<o:p>那样简单地替换节点htmlDoc.LoadHtml(htmlString.Replace("<o:p>","")),那么一切都会顺利进行。我不是在这里寻找简单的替换功能,而且这种情况发生在一些格式错误的网站上,因此希望通过适当的设置或扩展方法可以解决此问题。还有其他人遇到同样的问题吗?

0 个答案:

没有答案