string xmlData = "<ds><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"tab\" width=\"100%\" style=\"text-align:center; \" id=\"table1\">"
                    +"<tr>"
                        +"<td style=\"\">日期</td>"
                        +"<td style=\"\">订单编号</td>"
                        +"<td style=\"\">出发地</td>"
                        +"<td style=\"\">上车时间</td>"
                        +"<td style=\"\">目的地</td>"
                        +"<td style=\"\">下车时间</td>"
                        +"<td style=\"\">车长</td>"
                        +"<td style=\"\">车牌</td>"
                        +"<td style=\"\">用户</td>"
                        +"<td style=\"\">金额</td>"
                    +"</tr>"
            
                    +"<tr>"
                        +"<td align=\"left\" style=\"\">2009-03-30 12:00</td>"
                        +"<td align=\"left\">20090320040301281</td>"
                        +"<td align=\"left\" style=\"\">sfsdf</td>"
                        +"<td align=\"left\" style=\"\">2009-03-30 04:45</td>"
                        +"<td align=\"left\" style=\"\">sdfsdf</td>"
                        +"<td align=\"left\" style=\"\">2009-03-30 10:55</td>"
                        +"<td align=\"left\" style=\"\">FSJFJL </td>"
                        +"<td align=\"left\" style=\"\">1</td>"
                        +"<td align=\"left\" style=\"\">名称21 </td>"
                        +"<td align=\"right\" style=\"padding-right:3px;\"><span id=\"coco_order_ctl01_lblMoney\">468.00</span></td>"
                    +"</tr>"
              +  "</table>"; 可以把这个字符串直接转化成一个DATATABLE 对象吗?

解决方案 »

  1.   

    你只有自己写 函数
    用split()先找 列头, 然后substring()截取 单元格,然后创建datatable的列
    还要注意屏蔽HTML代码,和数据类型的转换
      

  2.   

    注意,xmlData 有改变,原值不符合xml格式,一个地方是 <ds> 一个是<span>
    using System.IO;
    using System.Xml;
    public partial class Default4 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string xmlData = "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"tab\" width=\"100%\" style=\"text-align:center; \" id=\"table1\">"
                        + " <tr>"
                            + " <td style=\"\">日期 </td>"
                            + " <td style=\"\">订单编号 </td>"
                            + " <td style=\"\">出发地 </td>"
                            + " <td style=\"\">上车时间 </td>"
                            + " <td style=\"\">目的地 </td>"
                            + " <td style=\"\">下车时间 </td>"
                            + " <td style=\"\">车长 </td>"
                            + " <td style=\"\">车牌 </td>"
                            + " <td style=\"\">用户 </td>"
                            + " <td style=\"\">金额 </td>"
                        + " </tr>"                    + " <tr>"
                            + " <td align=\"left\" style=\"\">2009-03-30 12:00 </td>"
                            + " <td align=\"left\">20090320040301281 </td>"
                            + " <td align=\"left\" style=\"\">sfsdf </td>"
                            + " <td align=\"left\" style=\"\">2009-03-30 04:45 </td>"
                            + " <td align=\"left\" style=\"\">sdfsdf </td>"
                            + " <td align=\"left\" style=\"\">2009-03-30 10:55 </td>"
                            + " <td align=\"left\" style=\"\">FSJFJL </td>"
                            + " <td align=\"left\" style=\"\">1 </td>"
                            + " <td align=\"left\" style=\"\">名称21 </td>"
                            + " <td align=\"right\" style=\"padding-right:3px;\"> 468.00</td>"
                        + " </tr>"
                  + " </table>";
            DataSet ds = new DataSet();
            using (StringReader stream = new StringReader(xmlData))
            {
                XmlTextReader xmlreader = new XmlTextReader(stream);
                ds.ReadXml(xmlreader);
            }
        }
    }
      

  3.   

    不可以直接转换的
    但可以把字符串设置一些分隔点,然后在后台用split()方法转换成数组,再保存到DataTable中
      

  4.   

    6 楼的  
       这样转换了  好象table的格式不大对劲  
          感觉有点乱