http://sunxitao88.blog.163.com/blog/static/683144392011416995716/

解决方案 »

  1.   

      DataTable dt = new DataTable();
      dt.ReadXml("t.xml");  如果直接读取会提示:DataTable 不支持来自 XML 的架构推断。
    读取方法:
                DataTable dt = new DataTable("dsz");
                dt.Columns.Add("clausetype");
                dt.Columns.Add("seats");
                dt.Columns.Add("touns");           
                dt.Columns.Add("amount");
                dt.Columns.Add("premium");
                dt.ReadXml("t.xml");  
      

  2.   

    是用读取架构后 还是提示 DataTable“daxread”与源中的任意 DataTable 都不匹配。 错误
       //写入架构
                baofei.Tables["dsz"].WriteXmlSchema("dszjg.xml");
                
                    //写入数据
                baofei.Tables["dsz"].WriteXml("dsz.xml");
               
                //xml写入datatable
                DataSet baofeiread = new DataSet();
                DataTable daxread = new DataTable("daxread");
                
                baofeiread.Tables.Add(daxread);
                baofeiread.Tables["daxread"].ReadXmlSchema("dszjg.xml");
                baofeiread.Tables["daxread"].ReadXml("dsz.xml");
      

  3.   


    使用这个办法 是没有报错  但是导入的数据是空的:
     //xml写入datatable
                DataSet baofeiread = new DataSet();
                DataTable daxread = new DataTable("daxread");
                daxread.Columns.Add("clausetype", typeof(String));
                daxread.Columns.Add("seats", typeof(Double));
                daxread.Columns.Add("touns", typeof(Double));
                daxread.Columns.Add("amount", typeof(Double));
                daxread.Columns.Add("premium", typeof(Double));
                baofeiread.Tables.Add(daxread);
               string dr = daxread.Rows[0][0].ToString(); 
    这一步就报错 在位置 0 处没有任何行。
      

  4.   

    刚才的遗漏了 baofeiread.Tables["daxread"].ReadXml("dsz.xml");
      

  5.   

          DataTable daxread = new DataTable("daxread");
    -->      DataTable dt = new DataTable("dsz");
    你XML里是DSZ,不是daxread
     <dsz>
        <clausetype>U01</clausetype>
        <seats>5</seats>
        <touns>0</touns>
        <amount>50000</amount>
        <premium>638</premium>
      </dsz>
      

  6.   


                DataTable daxread = new DataTable("dsz");
                daxread.Columns.Add("clausetype");
                daxread.Columns.Add("seats");
                daxread.Columns.Add("touns");
                daxread.Columns.Add("amount");
                daxread.Columns.Add("premium");
                daxread.ReadXml("t.xml");
                string dr = daxread.Rows[0][0].ToString(); 
      

  7.   

    用你的: DataSet baofeiread = new DataSet();
                DataTable daxread = new DataTable("dsz");
                daxread.Columns.Add("clausetype");
                daxread.Columns.Add("seats");
                daxread.Columns.Add("touns");
                daxread.Columns.Add("amount");
                daxread.Columns.Add("premium");
                baofeiread.Tables.Add(daxread);
                baofeiread.Tables[0].ReadXml("t.xml"); 
                //daxread.ReadXml("t.xml");
                string dr = baofeiread.Tables[0].Rows[0][0].ToString();