簡體   English   中英

C# 中的 XML 到 SQL 中的 varbinary 列

[英]XML in C# to varbinary column in SQL

我有一個從文件加載的 XmlDocument object。

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("C:\\myxml.txt");

我需要將此 XML 文檔轉換為與 SQL 表中的 varbinary 兼容的格式。 我怎樣才能做到這一點?

byte[] data = Encoding.UTF8.GetBytes(xmlDoc.OuterXml);

您可以將 XML 保存到 memory stream 中,然后將生成的字節數組保存在varbinary列中:

MemoryStream ms = new MemoryStream();
xmlDoc.Save(ms);
ms.Position = 0;
byte[] xmlData = ms.ToArray();

理想情況下,如果可能的話,您應該切換到 XML 類型的列(即 SQL 服務器)或只是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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM