我想做个用webBrowser1控件打开
http://qun.qq.com/air/#search/st/2/tx/3D+P3/c1/0/c2/0/pg/1
网站获取qq群号,群名,群说明信息可这个好像是用的xml,获取不了啊....哪位哥哥可以解决或则说有其他思路?还有个问题就是webBrowser1打开这个网页
webBrowser1_DocumentCompleted会执行4次啊,这是怎么回事,怎么解决?

解决方案 »

  1.   

    还有个问题就是webBrowser1打开这个网页 
    webBrowser1_DocumentCompleted会执行4次啊,这是怎么回事,怎么解决? 
    --------------------------------private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                if (webBrowser1.ReadyState == WebBrowserReadyState.Complete)
                {
                    //再写你的代码.. 
                }         }
      

  2.   

    webBrowser1_DocumentCompleted会执行4次啊,这是怎么回事,怎么解决? 
    百度  懒得说了...
    1、WebBrowser载入一个页面后DocumentCompleted事件会执行两次,但这两次的ReadyState状态不一样,分别是Intercative和Complete。而MSDN对这两种状态值的解释是:Complete该控件已完成新文档及其所有内容的加载;Interactive该控件已经加载足够的文档以允许有限的用户交互,比如单击已显示的超链接。由此可见,实际上DocumentCompleted事件会在Interactive状态和Complete状态各调用一次,那么我们可以根据我们的需要来判断到底需要那一次。解决办法实例代码如下:
    第一种方案
    if(webBrowser1.ReadyState!=WebBrowerReadyState.Complete)
        return; 
    2、如果一个页面中含有多个框架页,那么在每个框架页加载完成时也可能触发一次DocumentCompleted事件(MSDN对其解释是在多个的帧的情况下DocumentComplete获取触发多次。并非每个框架将触发此事件,但触发DownloadBegin事件的每个框架将触发相应的DocumentComplete事件)。这种情况下解决办法实例代码如下:第二种方案
    if(e.Url.ToString()!=webBrowser1.Url.ToString3、对于以上两种情况我是没遇到,却碰到了第三种情况:在我的DocumentCompleted事件里执行了相应的代码,结果又触发了一次DocumentCompleted事件,如此循环往复,没完没了。使用webBrowser1.Stop(),还是没法停止。webBrowser1.Nagviate("about:blank")问题还是依旧。这时候我们只能卸载DocumentCompleted事件了,即在DocumentCompleted事件里执行完你需要的代码后,再来一句:第三种方案
    webBrowser1.DocumentCompleted -= new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted
      

  3.   

    用这个HttpWebRequest类吧  以前做过一个是获取googlemail的 也是XML的
    当然这个地址要自己打开输入gmail的账号和密码才能进去,源代码是XML的string strUri = "https://mail.google.com/mail/feed/atom/inbox";
    System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.CreateDefault(new Uri(strUri));
    System.IO.StreamReader streamRead = new System.IO.StreamReader(response.GetResponseStream());XmlDocument doc = new XmlDocument();
                    doc.Load(response.GetResponseStream());
                    foreach(XmlElement entryXmlNode in doc.GetElementsByTagName("entry"))
                    {
                        foreach (XmlNode node in entryXmlNode.ChildNodes)
                        { 
                            if(node.Name.Equals("title"))
                            {
                                //自己具体的操作
                            }
                        }
                    }
      

  4.   

    少写一句
    System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
    放在第二句下面
      

  5.   

    错误 1 当前上下文中不存在名称“WebBrowerReadyState” D:\学习\C#\作业\cheshi_form\cheshi_form\Form1.cs 18 43 cheshi_form
      

  6.   

    就是if (webBrowser1.ReadyState != WebBrowerReadyState.Complete)
        return; 
      

  7.   

    大哥,拼错了阿....是这个WebBrowserReadyState