利用com调用ie进行html解析
2009-08-23 22:04
274 查看
别的就不多说了,直接上代码,代码很简单的,不懂的留言。
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5using System.Runtime.InteropServices; 6using mshtml; 7using System.Threading; 8using System.Runtime.InteropServices.ComTypes; 9using System.IO; 10 11namespace Eric.Utilities.Html 12{ 13 public enum HRESULT 14 { 15 E_FAIL = -2147467259, 16 E_INVALIDARG = -2147024809, 17 E_NOINTERFACE = -2147467262, 18 E_NOTIMPL = -2147467263, 19 E_UNEXPECTED = -2147418113, 20 S_FALSE = 1, 21 S_OK = 0 22 } 23 24 [ComImport, Guid("0000010c-0000-0000-C000-000000000046"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComVisible(true)] 25 public interface IPersist 26 { 27 void GetClassID(ref Guid pClassID); 28 } 29 30 [ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComVisible(true), Guid("7FD52380-4E07-101B-AE2D-08002B2EC713")] 31 public interface IPersistStreamInit : IPersist 32 { 33 new void GetClassID(ref Guid pClassID); 34 [PreserveSig] 35 int IsDirty(); 36 [PreserveSig] 37 HRESULT Load(IStream pstm); 38 [PreserveSig] 39 HRESULT Save(IStream pstm, [MarshalAs(UnmanagedType.Bool)] bool fClearDirty); 40 [PreserveSig] 41 HRESULT GetSizeMax([In, Out, MarshalAs(UnmanagedType.U8)] ref long pcbSize); 42 [PreserveSig] 43 HRESULT InitNew(); 44 } 45 46 public class HtmlParser 47 { 48 public IHTMLDocument3 Parse(string url) 49 { 50 HTMLDocument objMSHTML = new HTMLDocument(); 51 IHTMLDocument2 objMSHTML2; 52 IHTMLDocument3 objMSHTML3; 53 54 IPersistStreamInit objIPS; 55 objIPS = objMSHTML as IPersistStreamInit; 56 objIPS.InitNew(); 57 objIPS = null; 58 59 objMSHTML2 = objMSHTML.createDocumentFromUrl(url, "null"); 60 while (objMSHTML2.readyState != "complete") 61 { 62 Thread.Sleep(1000); 63 } 64 objMSHTML3 = objMSHTML2 as IHTMLDocument3; 65 return objMSHTML3; 66 } 67 68 public IHTMLDocument3 ParseHtml(string html, Encoding encoding) 69 { 70 string tmpFile = Path.GetTempFileName(); 71 File.WriteAllText(tmpFile, html, encoding); 72 return Parse(tmpFile); 73 } 74 } 75}
相关文章推荐
- 利用com调用ie进行html解析
- Java利用OpenOffice进行将word,excel转化成html解析到界面(下)
- Java利用OpenOffice进行将word,excel转化成html解析到界面(上)
- 利用Jsoup进行简单的HTML解析
- ios进行restful接口调用和json数据利用自带NSJSONSerialization进行数据解析
- 利用jsoup 对 HTML 文档进行解析和操作
- 利用HTMLDocument2对HTML文本进行解析
- Java下利用Jackson进行JSON解析和序列化,注解应用
- 利用java反射机制对方法进行调用
- 使用 jsoup 对 HTML 文档进行解析和操作
- Metasploit 对 IE 浏览器的极光漏洞进行渗透利用
- 于鹏:利用jQuery解析本地html字符串
- Csharp调用微软COM转换ppt为HTML
- .Net利用Newtonsoft进行解析Json的快捷方法
- 在HTML中利用js调用php的内容
- [原]java中利用EMethodMap进行对象间调用
- 利用python调用elasticsearch-api来分析数据并作图进行日报邮件发送
- Java注解教程:自定义注解示例,利用反射进行解析
- 使用com.jayway.jsonpath.JsonPath包进行JSON的快速解析、设置值需要注意的性能提升方法
- Android利用Jsoup解析html 开发网站客户端小记。