rag*_*gmn 10 c# dom html-agility-pack
我有一个HTML <div><h1> hello Hi</div> <div>hi </p></div>
要求输出: <div><h1> hello </h1></div> <div><p>hi </p></div>
使用HTML敏捷包是否可以通过缺少关闭和打开标记来修复此类问题?
Sim*_*ier 14
图书馆不够聪明,无法创建p你放置它的开口,但它足够聪明,可以创建缺失h1.一般来说,它总是创建有效的HTML,但并不总是你期望的那个.
所以这段代码:
HtmlDocument doc = new HtmlDocument();
doc.Load(yourhtml);
doc.Save(Console.Out);
Run Code Online (Sandbox Code Playgroud)
会抛弃这个:
<div><h1> hello Hi</h1></div> <div>hi <p></div>
Run Code Online (Sandbox Code Playgroud)
这不是你想要的,但是有效的HTML.你还可以添加一个这样的小技巧:
HtmlNode.ElementsFlags["p"] = HtmlElementFlag.Closed;
HtmlDocument doc = new HtmlDocument();
doc.Load(yourhtml);
doc.Save(Console.Out);
Run Code Online (Sandbox Code Playgroud)
会抛弃这个:
<div><h1> hello Hi</h1></div> <div>hi <p></p></div>
Run Code Online (Sandbox Code Playgroud)
小智 11
在做
HtmlAgilityPack.HtmlDocument.LoadHTML(yourhtml)HTMLAgilityPack时会自动为您修复标记,然后您可以使用以下方法访问这些标记:HtmlAgilityPack.HtmlDocument.DocumentNode.OuterHTML
| 归档时间: |
|
| 查看次数: |
8765 次 |
| 最近记录: |