这是怎么回事?似乎获取正在运行的HtmlDocument对象的唯一方法是复制mshtml / webbrowser控件的Document属性。但产卵是sloooooooooooow。我想避免编写自己的HTML解析器,HtmlAgilityPack是copyleft。
是否有其他来源获取实例化的HtmlDocument,我可以将HTML从字符串转储到?
或者,当使用带有img标签和tr元素的InnerHtml / OuterHtml时,是否有办法覆盖HtmlElement令人讨厌的习惯?
编辑:我指的是System.Windows.Forms.HtmlDocument。我很抱歉,我还是C#和.Net的新手,对COM以及本主题带来的其他一些事情知之甚少。
答案 0 :(得分:7)
它没有构造函数,因为它只是一个围绕非托管对象的包装类。
参考:http://msdn.microsoft.com/en-us/library/system.windows.forms.htmldocument.aspx
HtmlDocument提供托管 Internet Explorer的包装器 文档对象,也称为 HTML文档对象模型(DOM)。您 获取HtmlDocument的实例 通过Document的Document属性 WebBrowser控件。
根据您的需要,您可能需要查看SGMLReader或最新community version。
答案 1 :(得分:4)
强大的编程?
通过WebBrowser控件使用DOM时,在尝试访问WebBrowser控件的Document属性之前,应始终等到DocumentCompleted事件发生。加载整个文档后引发DocumentCompleted事件;如果在此之前使用DOM,则可能会在应用程序中导致运行时异常。