我正在使用 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 不能做我想要的,你能推荐一些可以的东西吗?