<table cellpadding="0" cellspacing="0" class="result" id="1"><tr><td class=f><h3 class="t"><a onmousedown="return c({'fm':'as','F':'77B717EA','F1':'9D73F1E4','F2':'4CA6BE6B','F3':'54E5243F','T':'1298255527','title':this.innerHTML,'url':this.href,'p1':1,'y':'EF97F6FF'})" href="http://blog.pchome.net/article/view/135754" target="_blank">超越传统宽带!<em>上海</em>电信CDMA2000 EVDO 3G网络实测!! - 花朵的数...</a></h3><font size=-1> <em>上海</em>电信CDMA2000 EVDO 3G网络实测!! 发表于 2009-04-03 11:37:49 ... 除了稳定性之外,EVDO的<em>网速</em>也是目前我们测试的网络中最快的。最高的峰值曾经...<br><span class="g">blog.pchome.net/article/view/135754 2011-2-9  </span> - <a href="http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380147e868a4820838448e4380c075a35a3fd7c734e53ce81273044b24a5dedf5317423467df7cdc79f3bd6ace35c38f85423031d914062c468d9dc322fd651e04d9fa4&p=9e74cd0285cc46ff57ea946d5848&user=baidu&fm=sc&query=site%3A%28blog%2Epchome%2Enet%29++%C9%CF%BA%A3%CD%F8%CB%D9&qid=c090a5242241bb50&p1=1" target="_blank" class="m">百度快照</a><br></font></td></tr></table><br>这是百度搜索里的一段源码,以此为例取数据。
                HtmlElementCollection hec = webBrowser1.Document.GetElementsByTagName("table");
                for (int i = 0; i < hec.Count; i++)
                {
                    foreach (HtmlElement he in hec[i].All)
                    {
                        url = he.GetAttribute("href");
                        title = he.InnerText;
这个是我程序中的一段代码,其中title中取到的数据是:上海电信CDMA2000 EVDO 3G网络实测!! - 花朵的数...我想把这段中文内容也取出来如下:
<em>上海</em>电信CDMA2000 EVDO 3G网络实测!! 发表于 2009-04-03 11:37:49 ... 除了稳定性之外,EVDO的<em>网速</em>也是目前我们测试的网络中最快的。最高的峰值曾经...代码该怎么写,各位大哥给我出出主意,小弟没有分数了,只有那么20分,谢谢啦~!

解决方案 »

  1.   

    http://blog.csdn.net/DaiDaiLiu/archive/2011/01/07/6123178.aspx
    按照里面的getDiv()方法是可以实现的
      

  2.   

    页面HTML结构稳定的话用正则表达式吧。string Pattern = "<font size=-1>(?<output>[\\s\\S]*?)<br>";
    r = new Regex(Pattern, RegexOptions.Compiled);
    m = r.Match(content);
    string dest = m.Groups["output"].Value;没有测试。不过应该是正确的
      

  3.   

    sugarforever大哥,这段代码怎么用啊,直接贴进去吗?小弟水平太菜,不太懂。
      

  4.   

                    string title;
                    HtmlElementCollection hec = webBrowser1.Document.GetElementsByTagName("table");
                    for (int i = 0; i < hec.Count; i++)
                    {
                        foreach (HtmlElement he in hec[i].All)
                        {
                            url = he.GetAttribute("href");
                            title = he.InnerText;
                            string txt = webBrowser1.DocumentText;
                             string Pattern = "<font size=-1>(?<output>[\\s\\S]*?)<br>";
                            Regex r = new Regex(Pattern, RegexOptions.Compiled);
                            Match m = r.Match(txt);
                            string dest = m.Groups["output"].Value.ToString();
                            MessageBox.Show(dest);
    这个是我的代码。现在数据时取到了,但是是乱码,如下:
    dest " <div class=\"bbs\">3���ظ�&nbsp;-&nbsp;����ʱ��:&nbsp;2011��1��22��</div><em>�Ϻ�����</em>���һ�� �Ϻ������ɹ�ץ��һ������6��ɱ�����ɷ� ������:�Ϻ���ɽ���������� һ��̨�弮���ӱ�ײ�� ���������������ģ��Ϻ�������Ƹʵϰ��һ�� �����Ϻ�����..." string
      

  5.   

    搞不清楚了,你加个断点看看吧,WebBrowser不能直接设置编码?
      

  6.   

    应该有个属性  叫Encodeing啥的  这个指定编码试试