在.Net中读取和编辑HTML

时间:2009-01-19 18:23:56

标签: .net html dom

是否有.Net类用于读取和操作除System.Windows.Forms.HtmlDocument之外的html。

如果没有,是否有任何开源库。

4 个答案:

答案 0 :(得分:3)

在.Net应用程序中解析Html的最佳选择似乎是使用在codeplex上找到的Html Agility Pack库。这提供了对HTML的完整DOM访问,并且使用起来非常简单。

答案 1 :(得分:2)

如果符合XHTML,我会做这样的事情:

System.Xml.XmlDocument xDoc = new System.Xml.XmlDocument();
xDoc.LoadXml(html);

以这种方式编辑它。如果需要进行一些清理(XHtml转换),您可以使用HtmlTidyNtidy。此外,您可以使用下面的HTMLTidy wrapper示例:

string input = "<p>broken html<br <img src=test></div>";
HtmlTidy tidy = new HtmlTidy()
string output = tidy.CleanHtml(input, HtmlTidyOptions.ConvertToXhtml);
XmlDocument doc = new XmlDocument();
doc.LoadXml(output);

StackOverFlow Reference

上面的EDIT将转换为XHtml

答案 2 :(得分:2)

您可以使用MSHTML库。但是,它是COM / ActiveX,但如果您使用的是Visual Studio,它将自动为您创建托管包装。

答案 3 :(得分:-1)

你总是可以使用LiteralControl:

PlaceHolder.Controls.Add(new LiteralControl("<div>some html</div>"));