怎样将xml文件保存到sql数据库里 大家好,问题如题,请问有几种方法,那种方法比较好,最好有代码说明,呵呵,谢谢各位了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.lzhm.net/Download/C#高级编程.pdf 如果我做的话,我会把XML读入至DATAVIEW中,然后再写入至SQL,好处有两点,一,用DATATABLE组织XML的速度比较快.二,在写入数据库前我可以对数据进行必要的操作,更好的是,我可以同时再写一个新的XML的备份,以备不测. 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();} 我不太认同楼上的方法,但是我还是想说出来,楼主并没有说明数据库中已经有建好的表,另外也没办法保证XML的结构合法性。因为我也在想这个问题,就一个单纯的Customer提交的一个XML文件,没有.xsd文件,我怎么把它保存到数据库中去?望小山海涵,指导一下。 呵呵,谢谢各位,数据库中已建好相应的表格,因为我对xml也是刚刚接触,好多还不是很懂,请问wxm4585,通过xsd文件如何将xml导入到已经建好的表中去呢? 关注,同时哪里有比较好的对于xml操作的学习资料,请高手给个 DataSet.ReadXmlSchema("FileName.xsd"); DataSet.ReaXml("FileName.xml") 这样能保证DataSet和数据库的结构的完整性。 动态生成的a元素的问题? C#与C++的好与坏 求个简单的正则表达式写法, 有段代码看不懂.求高手帮我看看.... 持续性的数据转换成图片数据流到picturebox窗口显示 请问,udp在Revive和Send能同时使用一个端口吗? 可不可以在运行期里加入嵌入的资源啊?怎么做的? 关于Xceed Ftp类的问题 怎么样实现一个程序提交表单? 1+1=3 这种格式的excel数据如何导入到oracle中?急 asp 与 c#之间cookies的传值问题.
{
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();
}
DataSet.ReaXml("FileName.xml")
这样能保证DataSet和数据库的结构的完整性。