web-dev-qa-db-ja.com

C#でDataTableをXMLファイルに変換するにはどうすればよいですか?

C#でDataTableをXMLファイルに変換したいのですが。これどうやってするの?

13
Vara Prasad.M

これを行う別の方法は、データテーブルをデータセットに追加し、データセットでGetXml()を呼び出すことです。このデータセットに加えて、WriteXml()およびReadXml()ファイルパスまたはストリームとの間でXMLを直接読み書きします。

DataSet ds = new DataSet();
ds.Tables.Add(dt1); // Table 1
ds.Tables.Add(dt2); // Table 2...
...
string dsXml= ds.GetXml();
...
using (StreamWriter fs = new StreamWriter(xmlFile)) // XML File Path
{
      ds.WriteXml(fs);
}
4
kiran

DataTable.WriteXmlメソッドを使用できます。

以下に例を示します。

C#2.0を使用してデータテーブルをXMLに変換するにはどうすればよいですか?

string result;
using (StringWriter sw = new StringWriter()) {
dataTable.WriteXml(sw);
result = sw.ToString();
}

実際には文字列は必要ないが、読み取り専用の処理可能なXMLが必要な場合は、MemoryStreamとXPathDocumentを使用することをお勧めします。

XPathDocument result;
using (MemoryStream ms = new MemoryStream()) {
dataTable.WriteXml(ms);
ms.Position = 0;
result = new XPathDocument(ms);
}
30
Soner Gönül

writeXMLメソッドを使用して、XML( Source )として保存できます。

この forum の5番目の投稿で説明されているように、直列化/非直列化を使用することもできます。

9
Ryan Castillo