主页 > 编程资料 > C# >
发布时间:2015-09-26 作者:网络 阅读:185次

由于最近需要使用C#处理IE的相关操作,因此积累了一些代码,下面的代码是从HTML代码中生成DOM TreeView的例子:


//该过程将被递归调用
  //dom_node是当前的HTML DOM节点
  //tree_node是当前插入树的结点
  private void InsertDOMNodes(IHTMLDOMNode parentnode,TreeNode tree_node)
  {
  
   int sibing=0;//当前结点在兄弟结点之间的顺序,所有的结点之间通过","隔开
   if(parentnode.hasChildNodes())
   {
    //level++;
    //pathstring = pathstring +","+ level;
    IHTMLDOMChildrenCollection allchild = (IHTMLDOMChildrenCollection)parentnode.childNodes;
    int length = allchild.length;
    for(int i=0;i    {
     string instring = pathstring;
     instring = instring +","+ sibing++;
     IHTMLDOMNode child_node = (IHTMLDOMNode)allchild.item(i,',',');
     TreeNode tempnode = tree_node.Nodes.Add(child_node.nodeName +"_"+instring,',',');
     //string tmp =
     InsertDOMNodes(child_node,tempnode,',',');
     pathstring = instring;
    }
   }
  }
  private void eVIPSBrowser_DocumentComplete(object sender, AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEvent e)
  {
   pathstring ="0";
   level = 0;
   DOMTreeView.Nodes.Clear(,',',');
   IHTMLDocument3 HTMLDocument =(IHTMLDocument3)eVIPSBrowser.Document;
   IHTMLDOMNode rootDomNode = (IHTMLDOMNode)HTMLDocument.documentElement;
  
   TreeNode root = DOMTreeView.Nodes.Add("HTML"+"_"+pathstring,',',');
   InsertDOMNodes(rootDomNode,root,',',');
  }

 

关键字词: