我有一个从文件加载的XmlDocument对象。C#中的XML到SQL中的varbinary列
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("C:\\myxml.txt");
我需要将此XML文档转换为与SQL表中的varbinary兼容的格式。我怎样才能做到这一点?
我有一个从文件加载的XmlDocument对象。C#中的XML到SQL中的varbinary列
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("C:\\myxml.txt");
我需要将此XML文档转换为与SQL表中的varbinary兼容的格式。我怎样才能做到这一点?
跳过加载XML文档,然后通过只读取该文件作为编码的开销字节直接:
byte[] data = File.ReadAllbytes("C:\\myxml.txt");
上述用途System.IO
然后instert到SQL像这样:
SqlCommand cmd = new SqlCommand("INSERT INTO myTable(myCol) VALUES(@file)", myDbConn);
cmd.Parameters.Add("@file", SqlDbType.VarBinary).Value = data;
cmd.ExecuteNonQuery();
您可以将XML保存到内存流,然后保存在您的varbinary
列生成的字节数组:
MemoryStream ms = new MemoryStream();
xmlDoc.Save(ms);
ms.Position = 0;
byte[] xmlData = ms.ToArray();
理想你应该切换到一个XML类型列,虽然如果可能的话(即SQL服务器)或只是nvarchar
。
+1我错过了varbinary部分 –