我有一个 html<div><h1> hello Hi</div> <div>hi </p></div>
所需输出:<div><h1> hello </h1></div> <div><p>hi </p></div>
使用 HTML 敏捷包是否可以解决缺少关闭和打开标签的此类类似问题?
我有一个 html<div><h1> hello Hi</div> <div>hi </p></div>
所需输出:<div><h1> hello </h1></div> <div><p>hi </p></div>
使用 HTML 敏捷包是否可以解决缺少关闭和打开标签的此类类似问题?
图书馆不够智能,无法p
在您放置它的地方创建开口,但它足够智能,可以创建缺失的h1
. 通常,它总是创建有效的 HTML,但并不总是您所期望的。
所以这段代码:
HtmlDocument doc = new HtmlDocument();
doc.Load(yourhtml);
doc.Save(Console.Out);
将转储这个:
<div><h1> hello Hi</h1></div> <div>hi <p></div>
这不是您想要的,而是有效的 HTML。你也可以像这样添加一个小技巧:
HtmlNode.ElementsFlags["p"] = HtmlElementFlag.Closed;
HtmlDocument doc = new HtmlDocument();
doc.Load(yourhtml);
doc.Save(Console.Out);
这将转储:
<div><h1> hello Hi</h1></div> <div>hi <p></p></div>
执行
HtmlAgilityPack.HtmlDocument.LoadHTML(yourhtml)
HTMLAgilityPack 时会自动为您修复标签,然后您可以使用以下命令访问这些标签:HtmlAgilityPack.HtmlDocument.DocumentNode.OuterHTML