亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

C#中利用Markup Service實現HTML解析為DOM Tree

2019-11-18 19:10:06
字體:
來源:轉載
供稿:網友

一個輕量級Parsing 實現。這個代碼不會從網上下載任何資料,也不會執行任何腳本,純屬Parsing。
Parsing是通過MSHTML的Markup Service實現的。要正確使用這個代碼,需要添加MSHTML引用。
由于.net中沒有定義ipersistStreamInt接口,就必須自己實現,接口定義:
以下內容為程序代碼:

[ComVisible(true), ComImport(), Guid("7FD52380-4E07-101B-AE2D-08002B2EC713 " ) , InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IPersistStreamInit 
{
 void GetClassID([In, Out] ref Guid pClassID);
 [return: MarshalAs(UnmanagedType.I4)] [PReserveSig]
 int IsDirty();
 void Load([In, MarshalAs(UnmanagedType.Interface)] UCOMIStream pstm);
 void Save([In, MarshalAs(UnmanagedType.Interface)] UCOMIStream pstm, 
  [In, MarshalAs(UnmanagedType.I4)] int fClearDirty);
 void GetSizeMax([Out, MarshalAs(UnmanagedType.LPArray)] long pcbSize);
 void InitNew();
}
 

以下內容為程序代碼:

  unsafe IHTMLDocument2  Parse(string s)
  {
   IHTMLDocument2 pDocument=new HTMLDocumentClass();  
   if(pDocument!=null)
   {
    IPersistStreamInit pPersist=pDocument as IPersistStreamInit ;
    pPersist.InitNew();
    pPersist=null;
    IMarkupServices ms=pDocument as IMarkupServices ;
    if(ms!=null)
    {
     IMarkupContainer pMC=null;
     IMarkupPointer pStart,pEnd;
     ms.CreateMarkupPointer(out pStart);
     ms.CreateMarkupPointer(out pEnd);
     StringBuilder sb=new StringBuilder(s); 
     IntPtr pSource=Marshal.StringToHGlobalUni(s);
     ms.ParseString(ref *(ushort*)pSource.ToPointer(),0,out pMC,pStart,pEnd);
     if(pMC!=null)
     {
      Marshal.Release(pSource);
      return pMC as IHTMLDocument2;
     }
     Marshal.Release(pSource);
    }
   }
   return null;
  }
 
 

寫代碼的時候出了一點問題,IMarkupService::ParseString第一個參數是ref ushort,顯然要傳入HTML代碼,這個ushort必須是第一個WideChar了,所以這里通過使用不安全代碼來繞過編譯器警告。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91在线观看免费网站| 中日韩午夜理伦电影免费| 国内久久久精品| 亚洲精品97久久| 亚洲欧美日韩精品久久亚洲区| 亚洲欧洲日产国产网站| 青青久久av北条麻妃黑人| 久久亚洲私人国产精品va| 高清欧美性猛交xxxx黑人猛交| 97在线免费视频| 国产精品免费电影| 国产精品国产三级国产aⅴ9色| 亚洲黄在线观看| 亚洲精品在线不卡| 一区二区三区亚洲| 懂色av影视一区二区三区| 国产脚交av在线一区二区| 国产99视频精品免视看7| 欧美夫妻性生活xx| 亚洲97在线观看| 亚洲加勒比久久88色综合| 日韩天堂在线视频| 国产精品一区二区久久| 欧美超级乱淫片喷水| 亚洲精品98久久久久久中文字幕| 日韩中文字幕视频在线| 国产精品精品久久久久久| 欧美一级免费视频| 欧美日韩午夜剧场| 国产美女精品视频免费观看| 亚洲女人天堂av| 亚洲最新av在线网站| 亚洲精品www久久久久久广东| 青青青国产精品一区二区| 国产裸体写真av一区二区| 色视频www在线播放国产成人| 久久久这里只有精品视频| 亚洲人精品午夜在线观看| 成人精品在线视频| 97色在线播放视频| 日本免费在线精品| 久久久精品2019中文字幕神马| 九九九热精品免费视频观看网站| 91欧美激情另类亚洲| 亚洲人午夜精品| 久久久久久尹人网香蕉| 亚洲色在线视频| 国产欧美在线观看| 欧美日韩xxx| 色七七影院综合| 日韩精品在线播放| 国内成人精品视频| 97色伦亚洲国产| 日韩精品免费在线播放| 国内精品久久影院| 欧美性受xxxx白人性爽| 91精品久久久久久久久青青| 国产欧美精品一区二区三区介绍| 久久久久久国产三级电影| 欧美疯狂做受xxxx高潮| 欧美尤物巨大精品爽| 日韩中文字幕不卡视频| 欧美高清视频在线播放| 欧美视频裸体精品| 久久国产精品久久久久久| 欧美国产乱视频| 欧美老女人在线视频| 久久精品久久久久电影| 亚洲午夜精品久久久久久久久久久久| 欧美刺激性大交免费视频| 日本在线观看天堂男亚洲| 亚洲欧美日韩久久久久久| 亚洲国产婷婷香蕉久久久久久| 最近2019年日本中文免费字幕| 亚洲免费视频一区二区| 欧美视频中文字幕在线| 综合欧美国产视频二区| 国产91精品最新在线播放| 欧美黑人国产人伦爽爽爽| 久久亚洲一区二区三区四区五区高| 亚洲视频综合网| 一区二区三区四区视频| 最新中文字幕亚洲| 欧美色欧美亚洲高清在线视频| 久久精品国产清自在天天线| 日韩电影中文字幕在线| 国产一区二区美女视频| 亚洲网址你懂得| 中文字幕av一区二区| 国外成人在线播放| 国产精品视频999| 国产成人精品国内自产拍免费看| 奇米成人av国产一区二区三区| 国产91色在线免费| 欧美成在线观看| 欧美成人免费va影院高清| 亚洲黄色成人网| 欧美一区二区大胆人体摄影专业网站| 欧美天天综合色影久久精品| 国产精品久久久久久av| 国产欧美日韩中文字幕在线| 1769国产精品| 欧美在线视频免费观看| www.欧美视频| 亚洲美女中文字幕| 一区二区亚洲精品国产| 美女久久久久久久久久久| 色悠久久久久综合先锋影音下载| 日韩在线精品视频| 97精品视频在线| 久久琪琪电影院| 日韩av在线免费观看| 亚洲免费精彩视频| 欧美成人精品激情在线观看| 久久久久久久久久久国产| 亚洲精品午夜精品| 国产精品国内视频| 成人免费黄色网| 亚洲精品www| 欧美xxxx做受欧美| 日韩欧美国产高清91| www日韩中文字幕在线看| 91tv亚洲精品香蕉国产一区7ujn| 国产精品视频久久久久| 欧美大奶子在线| 欧美激情乱人伦一区| 成人免费在线网址| 欧美精品少妇videofree| 久操成人在线视频| 九九热精品视频在线播放| 在线不卡国产精品| 疯狂做受xxxx高潮欧美日本| 自拍偷拍免费精品| 日韩av不卡电影| 一区二区三区 在线观看视| 国产精品久久婷婷六月丁香| 亚洲字幕在线观看| 欧美性高潮床叫视频| 亚洲自拍偷拍第一页| 亚洲国产精品人久久电影| 视频在线观看99| 欧美日韩在线视频一区二区| 日韩国产精品一区| 亚洲大尺度美女在线| 国产主播在线一区| 热re91久久精品国99热蜜臀| 欧美日韩精品二区| www.日韩不卡电影av| 97av在线播放| 日韩成人高清在线| 亚洲欧美成人网| 欧美高跟鞋交xxxxxhd| 欧美成人性生活| 91中文字幕在线观看| 亚洲一区二区日本| 欧美精品在线看| 久色乳综合思思在线视频| 日韩精品小视频| 欧美日韩第一视频| 日本久久久久久久久久久| 欧美激情精品久久久久久久变态| 欧美三级免费观看| 91久久夜色精品国产网站| 97婷婷大伊香蕉精品视频|