Pat*_*ins 7 .net html c# dom .net-2.0
目前,我发现能够从包含HTML的字符串中操作DOM的最佳方法是:
WebBrowser webControl = new WebBrowser();
webControl.DocumentText = html;
HtmlDocument doc = webControl.Document;
Run Code Online (Sandbox Code Playgroud)
有两个问题:
WebBrowser对象!有任何想法吗?
取决于你想要做什么(也许你可以给我们更多细节?)并且取决于HTML是否格式正确,你可以将其转换为XmlDocument:
System.Xml.XmlDocument x = new System.Xml.XmlDocument();
x.LoadXml(html); // as long as html is well-formed, i.e. XHTML
Run Code Online (Sandbox Code Playgroud)
然后,您可以轻松地操作它,而无需WebBrowser实例.至于线程,我不太了解实现XmlDocument知道该部分的答案.
如果文档格式不正确,您可以使用NTidy(HTML Tidy的 .NET包装器)来使其初始化 ; 我不得不为一个项目做过一次这样的事情,这真的不是太糟糕.
JasonBunting已经发布了这个,但它确实可以在HTML整理中使用.net包装并将其加载到XmlDocument中.
我之前使用过这个.net包装器:
http://www.codeproject.com/KB/cs/ZetaHtmlTidy.aspx
并实现它有点像这样:
string input = "<p>crappy html<br <img src=foo></div>";
HtmlTidy tidy = new HtmlTidy()
string output = tidy.CleanHtml(input, HtmlTidyOptions.ConvertToXhtml);
XmlDocument doc = new XmlDocument();
doc.LoadXml(output);
Run Code Online (Sandbox Code Playgroud)
对不起,如果考虑重新发布:)
| 归档时间: |
|
| 查看次数: |
28475 次 |
| 最近记录: |