C# 使用HtmlAlityPack从表单加载p标记
我试图从C# 使用HtmlAlityPack从表单加载p标记,c#,winforms,html-agility-pack,C#,Winforms,Html Agility Pack,我试图从表单标记中绘制p标记,但它是null: string html = "<form id='foo123'> <p> loll </p> </form>"; HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); doc.LoadHtml(html); var node = doc.DocumentNode.SelectNodes(
表单
标记中绘制p
标记,但它是null
:
string html = "<form id='foo123'> <p> loll </p> </form>";
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
var node = doc.DocumentNode.SelectNodes("//form[contains(@id, 'foo')]"); //.Count = 1
var p = node[0].SelectSingleNode("./p"); // p is null
string html=“loll”;
HtmlAgilityPack.HtmlDocument doc=新的HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
var node=doc.DocumentNode.SelectNodes(//form[contains(@id,'foo')])”;//。计数=1
var p=node[0]。选择singlenode(“./p”);//p是空的
如何修复此问题?这是一个已知的问题,Agility Pack错误地修复了标签的嵌套。您可以通过拨打以下电话来解决此问题:
HtmlNode.ElementsFlags.Remove("form");
见: