尝试解析这样的embed-object标记:
HtmlNode source2 = HD.CreateElement(“source”); source2.InnerHtml =
<object width="640" height="390" ><param name="movie" value="http://videa.hu/flvplayer.swf?v=SMxjdkVDqmrfAxJz" /><param name="allowscriptaccess" value="always" /><param name="allowFullScreen" value="true" /><embed width="640" height="390" src="http://videa.hu/flvplayer.swf?v=SMxjdkVDqmrfAxJz" allowscriptaccess="always" allowfullscreen="true" type="application/x-shockwave-flash" /></object><br /><a href="http://videa.hu/videok/jarmuvek/markoloval-tisztitjak-a-parkolot-az-SMxjdkVDqmrfAxJz"> title="fdsdf sdf">dsdfs fs dfsd fsd </a>n here.
问题是,当我尝试文档代码HD.DocumentNode.OuterHtml
或source2.InnerHtml
时,param和embed标记将是未公开的。
我试过
HtmlNode.ElementsFlags [“param”] = HtmlElementFlag.Closed;
但获得一个额外的标签。
感谢
答案 0 :(得分:2)
试试这个,
HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument();
document.LoadHtml(loadhtmlstring);
document.OptionFixNestedTags = true;
当您将html加载到HtmlDocument时尝试修复html标记。那么你可以解决你的问题。允许自动修复HTML的标记错误。