C#でDataTableをXMLファイルに変換したいのですが。これどうやってするの?
これを行う別の方法は、データテーブルをデータセットに追加し、データセットで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);
}
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);
}