htmllagilitypack无效标记

本文关键字:无效 htmllagilitypack | 更新日期: 2023-09-27 18:08:54

我使用的是来自codeplex的htmllagilitypack。当我传入一个简单的html字符串,然后得到返回的html,它会截断标签。

的例子:

string html = "<select><option>test</option></select>";
HtmlDocument document = new HtmlDocument();
document.LoadHtml(html);
var result = d.DocumentNode.OuterHtml;
// result gives me:
<select><option>test</select>

所以选项的结束标签缺失了。是我遗漏了一个设置还是用错了?

htmllagilitypack无效标记

我通过在源代码中注释出HtmlNode.cs的第92行来修复这个问题,编译后它像一个魅力一样工作。

ElementsFlags.Add("option", HtmlElementFlag.Empty); // comment this out

找到这个问题的答案了

在HTML中标签没有结束标签。

在XHTML中,标签必须正确关闭。

http://www.w3schools.com/tags/tag_option.asp

"也没有遵守XHTML或XML"- HTML敏捷包。

这可能是为什么?我的猜测是,如果标签是可选的,敏捷包将离开它。希望这对你有帮助!