HtmlAgilityPack LoadHtml(字符串html)丢失了一些tage

时间:2015-03-10 10:24:14

标签: html-agility-pack

我使用HtmlAgilityPack加载html代码,但有些代码会丢失。

<Item><link>http:...</link><Item>

但是当我使用LoadHtml(string html)时,我得到的Outerinner html是

<Item><link>http...<Item>

标记</link>已丢失。我需要打开一些选项吗? THX

1 个答案:

答案 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;