是否有.Net类用于读取和操作除System.Windows.Forms.HtmlDocument之外的html。
如果没有,是否有任何开源库。
答案 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转换),您可以使用HtmlTidy或Ntidy。此外,您可以使用下面的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);
上面的EDIT将转换为XHtml
答案 2 :(得分:2)
您可以使用MSHTML库。但是,它是COM / ActiveX,但如果您使用的是Visual Studio,它将自动为您创建托管包装。
答案 3 :(得分:-1)
你总是可以使用LiteralControl:
PlaceHolder.Controls.Add(new LiteralControl("<div>some html</div>"));