我可以期待修复HtmlAgility库有哪些错误?我根据自己的经验知道它可以关闭一个缺失的标签,例如:
<car>Nissan</car
Run Code Online (Sandbox Code Playgroud)
何时执行Load或LoadHtml,它将修复它,如:
<car>Nissan</car>
Run Code Online (Sandbox Code Playgroud)
我也知道ParseErorrs集合可以确定Reason,Stream等.
是否存在错误列表(或者您可以根据自己的经验判断)HtmlAgility修复错误的可靠性如何以及HtmlAgility无法解决哪些错误?
从历史上看,Html Agility Pack从未设计用于修复 Html,而是能够加载,修改和保存它,即使此Html有错误.
这意味着它将修复一般由浏览器自动修复的错误,例如您在问题中显示的错误.错误列表已通过实验确定,您可以浏览源代码以获得有关它的深入见解.话虽这么说,它实际上是在2000/2001年设计的,所以事情可能在那个地区发生了变化:-)
ParseErrors集合将包含带代码的HtmlParseError对象.代码是一个记录的枚举:
/// A tag was not closed.
TagNotClosed,
/// A tag was not opened.
TagNotOpened,
/// There is a charset mismatch between stream and declared (META) encoding.
CharsetMismatch,
/// An end tag was not required.
EndTagNotRequired,
/// An end tag is invalid at this position.
EndTagInvalidHere
Run Code Online (Sandbox Code Playgroud)
OptionFixNestedTagsHtmlDocument上还有一个属性(默认值为false),它能够在检测到嵌套错误时修复LI,TR,TH,TD标记.这意味着如果它在没有所需的关闭TD的情况下检测到关闭TR,它们将自动关闭.同样,这正是浏览器将对格式错误的Html做的事情.
| 归档时间: |
|
| 查看次数: |
2218 次 |
| 最近记录: |