2个问题:
1.如何将datatable中的数据保存成一个xml文件
2.如何将xml文件中的数据追加到数据库的同结构表中

解决方案 »

  1.   

    第一个问题           
     DataTable table;
                table.WriteXml(Stream stream);
      

  2.   

    给你个例子,我是这样写的,将DataTable写入xml文档        /// <summary>
            /// 保存数据到Xml文件中
             /// </summary>
            /// <returns>cardInfo</returns>
            public void CardInfoSave()
            {
                //生成xml文件的头文件
                XmlNode xmlnode = myXml.CreateNode(XmlNodeType.XmlDeclaration,"", "");
                myXml.AppendChild(xmlnode);
                //加入一个根元素
                XmlElement xmlelem = myXml.CreateElement("", "Card", "");
                XmlText xmltext = myXml.CreateTextNode("");
                xmlelem.AppendChild(xmltext);
                myXml.AppendChild(xmlelem);            //写入到Xml文件中
                string FileName = "CardInfo.xml";
                DataTable dt = 
                if (dt != null && dt.Rows.Count != 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        #region 设置对象的值
                        cardinfoModel.CardNo = dt.Rows[i]["CardNo"].ToString();                    #endregion                    try
                        {
                            this.WriteXml(FileName, cardinfoModel);//添加子节点
                        }
                        catch (Exception ex)
                        {
                            throw ex;
                        }
                    }
                }
                else
                {
                    this.WriteXml(FileName);
                }
            }        /// <summary>
            /// 将数据写入Xml文件
            /// </summary>
            /// <param name="FileName">要写入的Xml文件</param>
            /// <param name="model">卡的信息</param>
            public void WriteXml(string FileName, CardInfoModel model)
            {
                ////初始化XML文档操作类
                //XmlDocument myXml = new XmlDocument();            #region 为节点添加元素
                //添加元素
                XmlElement ele0 = myXml.CreateElement("CardNo");
                XmlText Text0 = myXml.CreateTextNode(model.CardNo);            //添加元素的节点---CardInfo
                XmlNode newElem = myXml.CreateNode("element", "CardInfo", "");            //在节点中添加元素
                newElem.AppendChild(ele0);
                newElem.LastChild.AppendChild(Text0);            //将节点添加到文档中
                XmlElement root = myXml.DocumentElement;
                root.AppendChild(newElem);
                #endregion            //保存所有的修改
                myXml.Save(FileName);
            }
      

  3.   

    还有种简单的方法
    dt.WriteXml("D:\\a.xml");当然这个table要有名称才行!
      

  4.   

    http://blog.csdn.net/jinjazz/archive/2009/04/02/4044988.aspx
      

  5.   

    写table.WriteXml(filename);
    读table.ReadXml(filename);
      

  6.   

    测试过没问题        string str = "Data Source=192.168.0.15;Initial Catalog=SOES;Persist Security Info=True;User ID=sa;Password=opt";        SqlConnection conn = new SqlConnection(str);
            SqlCommand cmd = new SqlCommand("select * from M_UserInfo", conn);        if (conn.State == ConnectionState.Closed) conn.Open();        SqlDataAdapter sqlad = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            sqlad.Fill(ds);        DataTable dt = new DataTable();
            dt = ds.Tables[0];        //写到一个xml文件中
            dt.WriteXml(@"C:\321.xml", true);
      

  7.   

    xml文件:
    <?xml version="1.0" standalone="yes"?>
    <DocumentElement>
      <table1>
        <name>zhangsan</name>
        <sex>man</sex>
      </table1>
      <table1>
        <name>lisi</name>
        <sex>woman</sex>
      </table1>
    </DocumentElement>写的时候没问题,但读的时候出了问题
       dt.ReadXml("D:\\a.xml");
    提示“datatable 不支持来自XML的架构推断”
    怎么回事
      

  8.   

    DataTable 不支持 ReadXml,用 DataSet.或者在XML文件上面加一个 sechma 结构.
      

  9.   

    请问上面说的datatable的名称指的是什么名称啊???急急急