求解决办法?
  
需求:1要把这个表格里面的数据解析出来插入到数据库的表(HTML表 变成 数据库表) 
      2 表格内容为空的地方用0填充
      3 第一行标题跟最后一行合计都不要。。=============这是表格 表格有多少行不是固定的
   <table width=100% border=0 cellpadding=2 cellspacing=1 bgcolor=#999999 id="tblList" >
<tr bgcolor=#DDDDDD align=center>
<td width=100><b>广告主</b></td>
<td width=100><b>时间</b></td>
<td><b>商品编号            </b></td>
<td><b>分类</b></td>
<td align=right><b>个数</b></td>
<td align=right><b>单价</b></td>
<td align=right><b>销售额</b></td>
<td align=right><b>佣金</b></td>
<td><b>业绩状态</b></td>
<td><b>取消理由</b></td>
<td><b>反馈用标签</b></td>
</tr>
<tr align=right bgcolor=#FFEEEE>
<td>0</td>
<td>0</td>
<td><a href="javascript:trans_cpa('')"></a></td>
<td><a href="javascript:trans_cpa('')">0.00</a></td>
<td><a href="javascript:trans_cps('')">0</a></td>
<!--<td><a href="javascript:trans_cps('')">0.00</a></td>-->
<td><a href="javascript:trans_cps('')">0.00</a></td>
<td><a href="javascript:trans_cps('')">0.00</a></td>
<td>0</td>
<td>0.00</td>
<td>0.00</td>
<td>1234</td>
</tr>
<tr align=right bgcolor=#FFEEEE>
<td>0</td>
<td>0</td>
<td><a href="javascript:trans_cpa('')">0</a></td>
<td><a href="javascript:trans_cpa('')">0.00</a></td>
<td><a href="javascript:trans_cps('')"></a></td>
<!--<td><a href="javascript:trans_cps('')">0.00</a></td>-->
<td><a href="javascript:trans_cps('')">0.00</a></td>
<td><a href="javascript:trans_cps('')">0.00</a></td>
<td>0</td>
<td>0.00</td>
<td>0.00</td>
<td>1234</td>
</tr>
<tr align=right bgcolor=#FFEEEE>
<td>0</td>
<td>0</td>
<td><a href="javascript:trans_cpa('')">0</a></td>
<td><a href="javascript:trans_cpa('')">0.00</a></td>
<td><a href="javascript:trans_cps('')">0</a></td>
<!--<td><a href="javascript:trans_cps('')">0.00</a></td>-->
<td><a href="javascript:trans_cps('')"></a></td>
<td><a href="javascript:trans_cps('')">0.00</a></td>
<td>0</td>
<td>0.00</td>
<td>0.00</td>
<td>1234</td>
</tr>
<tr bgcolor=#FFEEEE align=center>
<td>合计(0)</td>
<td></td><td></td>
  <td></td>
<td align=right>0</td>
<td align=right>0.00</td>
<td align=right>0.00</td>
<td align=right>0.00</td>
<td></td>
<td></td>
<td></td>
</tr>
</table>

解决方案 »

  1.   

    自己认为第一步是用正则解析出表格TD里面的内容 第二不 再构造SQL语句 可不知道怎么做
      

  2.   

    这样来做不是很好,最好考虑把表格转成xml文档再处理,会方便不少。
      

  3.   

    转换为XML 有什么好的处理方法吗?
      

  4.   

    dracula1133() ( ) 信誉:100    Blog   加为好友  2007-07-06 15:03:12  得分: 0  
     
     
       你这是一段网页里面读出来的吗,直接给出网页反而方便点
    读字符串的话,输入不方便
      
     
    ================
    网页不能直接访问 需要先登录。。 抓取的时候这个问题也还没有解决 也需要向大家请教下有灭有好的办法 抓取需要先登录的网页。
      

  5.   

    弄个委托 <tr\salign=right\sbgcolor=#FFEEEE>[^<]*?</tr>然后把<.*?>都替换成一个特殊符号 然后就形成了如$0$0$0$0.00$的字符串 然后再去拆字符串写数据库一点想法:) 那个"表格内容为空的地方用0填充"还是没想到解决方法:(
      

  6.   

    keystudio(桃花影落飞神剑 碧海潮生按玉箫) ( ) 信誉:100    Blog   加为好友  2007-07-06 15:20:46  得分: 0  
     
     
       弄个委托 <tr\salign=right\sbgcolor=#FFEEEE>[^<]*?</tr>然后把<.*?>都替换成一个特殊符号 然后就形成了如$0$0$0$0.00$的字符串 然后再去拆字符串写数据库一点想法:) 那个"表格内容为空的地方用0填充"还是没想到解决方法:(
      
     
    =================
    本来想这个网页源码容易得到 可没有想到 现在网页源码抓不到 因为这个网页需要登录才能访问
      

  7.   

    刚才在装linux,看看这样是不是你要的结果string yourStr = .............;
    yourStr = Regex.Replace(yourStr, @"^[\s\S]*?</tr>|<tr[^>]*>(?![\s\S]*?<tr)[\s\S]*?$", "", RegexOptions.IgnoreCase);
    MatchCollection mc = Regex.Matches(yourStr, @"<td[^>]*>(?<content>[\s\S]*?)</td>", RegexOptions.IgnoreCase);
    string temp = "";
    foreach (Match m in mc)
    {
        temp =  m.Groups["content"].Value ;
        temp = Regex.Replace(temp, @"<[^>]*>", "");
        if (temp.Trim() == "")
            temp = "0";
        richTextBox2.Text += temp + "\n";
    }