修复错过结束标记或/>的已损坏元素用c#

时间:2010-10-01 09:23:23

标签: c# asp.net html

是否有一种简单的方法来修复错过结束标记的html文档中的元素,或者>结尾? 我正在使用带有c#的ASP.NET(在Html Agility Pack的帮助下加载html)。

一个例子:

<img src="www.example.com/image.jpg"> 

应该变成

<img src="www.example.com/image.jpg" /> 

<img src="www.example.com/image.jpg"></img>

1 个答案:

答案 0 :(得分:3)

您可以使用save()方法将Html文档转换为XML。这样做,HTMLAgilitypack将尝试关闭所有打开的标签。

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);    
System.IO.StringWriter sw = new System.IO.StringWriter();
System.Xml.XmlTextWriter xw = new System.Xml.XmlTextWriter(sw);
doc.Save(xw);
string result = sw.ToString();