我正在使用HtmlAgilityPack。我创建了一个HtmlDocument,并使用以下字符串进行LoadHtml:
<select id="foo_Bar" name="foo.Bar"><option selected="selected" value="1">One</option><option value="2">Two</option></select>
这段代码会产生一些意想不到的结果。首先,它会报两个解析器错误:EndTagNotRequired。其次,选择节点具有4个子节点 - 两个为选项标签,另外两个为选项标签的内部文本。最后,OuterHtml显示如下:
<select id="foo_Bar" name="foo.Bar"><option selected="selected" value="1">One<option value="2">Two</select>
所以基本上它在决定我是否在选项上省略闭合标签。暂且不论这样做是否合适和可取。我正在使用HtmlAgilityPack测试HTML生成代码,因此我不希望它为我做出任何决定或提供任何错误,除非HTML确实格式不正确。有没有办法让它按照我的意愿行事?我尝试设置了HtmlDocument的一些选项,具体如下:
doc.OptionAutoCloseOnEnd = false;
doc.OptionCheckSyntax = false;
doc.OptionFixNestedTags = false;
这个不起作用。如果 HtmlAgilityPack 不能做我想要的事情,你能推荐一些可以做到的东西吗?