//创建datatable
        DataTable dt = new DataTable();
        dt.Columns.Add("SeaNum", typeof(int));//海区编号
        dt.Columns.Add("SeaName", typeof(string));//海区名称
        dt.Columns.Add("WaveHeight", typeof(string));//浪高
        dt.Columns.Add("BayHigh", typeof(string));//涌高        dt.Columns.Add("SST", typeof(int));//海温
        dt.Columns.Add("AverMaxflowrate", typeof(string));//平均流速/最大流速
        dt.Columns.Add("Averflowflowof", typeof(string));//平均流向/最大流向
        dt.Columns.Add("Time", typeof(string));//时间        dt.TableName = "jhhyyb";
        //Url = "http://www.nmefc.gov.cn/nr/jhhyhjyb.aspx";
        string html = GetWebContent1("http://www.nmefc.gov.cn/nr/jhhyhjyb.aspx");
        string pattern = @"(?is)<table[^>]*?bgcolor=""#CCCCCC""[^>]*?>.*?</table>";
         html = Regex.Match(html,pattern).Value;
         
        foreach(Match m in Regex.Matches(html,@"(?<=<td[^>]+>).*?(?=</td>)"))
         {
            
             //Response.Write(m.Value);
           
         }
这里已经获取到网页table的数据了 怎么循环截取把获取到的数据存到数据库里table正则数据库

解决方案 »

  1.   

    你可以把匹配到的数据放到list中,然后再插入数据库
    string html="yourhtml";
    foreach(Match m in Regex.Matches(html,@"(?<=<td[^>]+>).*?(?=</td>)"))
    {
       list.Add(m.Value);
    }
    insert into table(c1,c2,....) values(list[0],list[1],......)//c1,c2你的列名
      

  2.   


     List<string> ll = new List<string>();
            foreach(Match m in Regex.Matches(html,@"(?<=<td[^>]+>).*?(?=</td>)"))
             {
              
                 Count++;
               Response.Write(m.Value);
                
               ll.Add(m.Value);
               //// Label1.Text = m.Value;
               
                 
             }        DataSet ds = new DataSet();
            string sql = @"insert into [Weather].[dbo].[jhhyyb24](SeaName,WaveHeight,BayHigh,SST,AverMaxflowrate,Averflowflowof,Time) values('" + ll[0] + "','" + ll[1] + "','" + ll[2] + "','" + ll[3] + "','" + ll[4] + "','" + ll[5] + "','" + ll[6] + "') ";
            db.LoadDataSet(CommandType.Text, sql, ds, new string[] { "T" });我是这样写的 不对,他是把表头入到数据库了
      

  3.   


    这个操作数据库 是调用的企业类库 private static Database db = DatabaseFactory.CreateDatabase("DBconnStr"); 
      

  4.   

    插入就直接执行NonExceuteQuery()方法就行了啊
      

  5.   


    这个操作数据库的我会,就是上面获取到的table的数据 你说赋给list我不知道对不对
      

  6.   

    你看你匹配的数据是不是和你数据库字段相符合啊list[0]是不是要放到c1字段里???
      

  7.   


    你看看这个table的结构 第一个tr里的td是数据库的字段名, 然后有办法把第二个时间给去除掉 再把数据依次插入数据库吗?