2

ファイルからロードするXmlDocumentオブジェクトがあります。

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

このXMLドキュメントをSQLテーブルのvarbinaryと互換性のある形式に変換する必要があります。どうすればこれを達成できますか?

4

3 に答える 3

4
byte[] data = Encoding.UTF8.GetBytes(xmlDoc.OuterXml);
于 2011-07-07T19:15:36.637 に答える
3

XMLをメモリストリームに保存してから、結果のバイト配列をvarbinary列に保存できます。

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

理想的には、可能であれば(つまり、SQL Server)または単にXMLタイプの列に切り替える必要がありますnvarchar

于 2011-07-07T19:13:29.287 に答える
3

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();
于 2011-07-07T19:29:57.507 に答える