我使用HtmlAgilityPack加载html代码,但有些代码会丢失。
<Item><link>http:...</link><Item>
但是当我使用LoadHtml(string html)
时,我得到的Outer
和inner
html是
<Item><link>http...<Item>
标记</link>
已丢失。我需要打开一些选项吗?
THX
答案 0 :(得分:0)
除了<link>
部分之外,<head>
标签不应该在任何地方,而且,根据定义,它应该是自我关闭的标签。
您需要覆盖“链接”代码(you may need to tweak the settings instead of simply removing them)的设置:
if (HtmlNode.ElementsFlags.ContainsKey("link"))
{
HtmlNode.ElementsFlags.Remove("link");
}
根据文档的混乱情况,您可能需要指示HTML Agility包停止修复标记并在不正确的位置支持标记。
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
// You may need to tweak the following options:
htmlDoc.OptionFixNestedTags = false;
htmlDoc.OptionCheckSyntax = false;