我有一个从文件加载的 XmlDocument 对象。
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("C:\\myxml.txt");
我需要将此 XML 文档转换为与 SQL 表中的 varbinary 兼容的格式。我怎样才能做到这一点?
我有一个从文件加载的 XmlDocument 对象。
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("C:\\myxml.txt");
我需要将此 XML 文档转换为与 SQL 表中的 varbinary 兼容的格式。我怎样才能做到这一点?
byte[] data = Encoding.UTF8.GetBytes(xmlDoc.OuterXml);
您可以将 XML 保存到内存流中,然后将生成的字节数组保存在您的varbinary
列中:
MemoryStream ms = new MemoryStream();
xmlDoc.Save(ms);
ms.Position = 0;
byte[] xmlData = ms.ToArray();
理想情况下,您应该尽可能切换到 XML 类型列(即 SQL Server),或者只是nvarchar
.
跳过加载 XML 文档的开销,然后通过直接将文件读取为字节来进行编码:
byte[] data = File.ReadAllbytes("C:\\myxml.txt");
以上使用 System.IO
然后像这样插入SQL:
SqlCommand cmd = new SqlCommand("INSERT INTO myTable(myCol) VALUES(@file)", myDbConn);
cmd.Parameters.Add("@file", SqlDbType.VarBinary).Value = data;
cmd.ExecuteNonQuery();