私はXMLにLINQ to XMLを使用しています。要素/属性データの一部を取得したいので、文字列配列で取得しました。後で、これらの値を文字列配列からDataRowに挿入するためにforeachループを使用しました。私の最終的な目標はDataTableをそこから得ることです。続きDataRowのLINQ結果
は
System.Data.DataTable dt = new System.Data.DataTable();
dt.Columns.Add("col_1");
dt.Columns.Add("col_2");
dt.Columns.Add("col_3");
string[] arr = new string[3];
var myData = from n in doc.Descendants("product")
select new string[]{
arr[0] = n.Attribute("name").Value,
arr[1] = n.Attribute("prodid").Value,
arr[2] = n.Attribute("price").Value
};
foreach (var item in myData)
{
dt.Rows.Add(item[0],item[1],item[2]);
}
私のコードはありこれらを組み合わせて、代わりに、直接のforeachを使用してのLINQクエリからのDataTableとして出力を得ることが可能でしょうか?
select new string[]
の代わりに、select new DataTable
またはDataTable
のようなものを使用できますか?
私は自分のテーブル構造を修正する必要があることを理解します。
更新
おかげで、私は今、これら二つの間の最善のアプローチを知りたいのですが、& @Rahulシンを@CodingDawg。
私のサンプルデータが同じかどうかを確認します。
大規模なデータ(10000要素=> 10000行)を考えるとあなたの経験から、
を機能あなたは、DataSetにXMLをロードしようとしたことがありますか?あなたはそれから有用なDataTableを取得する必要があります。 – tinstaafl
@tinstaafl - XMLをDataSetに直接ロードすることはできません。また、上記のものが実現可能かどうかを確認したいと考えました。 – A3006