大家好,问题如题,请问有几种方法,那种方法比较好,最好有代码说明,呵呵,谢谢各位了

解决方案 »

  1.   

    http://www.lzhm.net/Download/C#高级编程.pdf
      

  2.   

    如果我做的话,我会把XML读入至DATAVIEW中,然后再写入至SQL,好处有两点,一,用DATATABLE组织XML的速度比较快.二,在写入数据库前我可以对数据进行必要的操作,更好的是,我可以同时再写一个新的XML的备份,以备不测.
      

  3.   

    http://singlepine.cnblogs.com/articles/298691.htmlprivate  void SaveXml(DataSet ds)
    {
                SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
                SqlCommand comm=new SqlCommand("insert into StreamXml (UserID,XmlStream,XmlString) values(@UserID,@XmlStream,@XmlString)",conn);
                
                SqlParameter parm1=new SqlParameter("@UserID",SqlDbType.UniqueIdentifier,50);
                parm1.Value=new Guid(ds.Tables[0].Rows[0]["UserID"].ToString());
                
                //以流方式保存xml
                System.IO.MemoryStream mStream = new System.IO.MemoryStream();
                ds.WriteXml(mStream, XmlWriteMode.WriteSchema);
                SqlParameter parm2=new SqlParameter("@XmlStream",SqlDbType.Image);
                parm2.Value=mStream.ToArray();
                //以字符串方式保存xml
                SqlParameter parm3=new SqlParameter("@XmlString",SqlDbType.NVarChar,500);
                parm3.Value=ds.GetXml();            comm.Parameters.Add(parm1);
                comm.Parameters.Add(parm2);            
                comm.Parameters.Add(parm3);    
                conn.Open();
                comm.ExecuteNonQuery();
                conn.Close();
    }
      

  4.   

    我不太认同楼上的方法,但是我还是想说出来,楼主并没有说明数据库中已经有建好的表,另外也没办法保证XML的结构合法性。因为我也在想这个问题,就一个单纯的Customer提交的一个XML文件,没有.xsd文件,我怎么把它保存到数据库中去?望小山海涵,指导一下。
      

  5.   

    呵呵,谢谢各位,数据库中已建好相应的表格,因为我对xml也是刚刚接触,好多还不是很懂,请问wxm4585,通过xsd文件如何将xml导入到已经建好的表中去呢?
      

  6.   

    关注,同时哪里有比较好的对于xml操作的学习资料,请高手给个
      

  7.   

    DataSet.ReadXmlSchema("FileName.xsd");
     DataSet.ReaXml("FileName.xml")
     这样能保证DataSet和数据库的结构的完整性。