0
我有存儲在數據庫(SQL Server 2008的R2),其經由存儲的過程中檢索並放入一個DataTable一些XML數據。 DataTable有2列:DateTime「timestamp」和XML「info」。
從數據庫中提取此數據後,我想循環遍歷每行,並在C#中使用LINQ to XML對數據進行操作。
public static void ParseDataTable(DataTable dataTable)
{
for (int r = 0; r < dataTable.Rows.Count; r++)
{
// dataTable.Rows[r]["timestamp"].ToString() holds DateTime
// dataTable.Rows[r]["info"].ToString() holds XML
}
}
我的問題:
是什麼讓這個數據到一個對象,我可以使用LINQ最簡單的方法?應該使用什麼類型的對象?
此外:
- 請不要問爲什麼XML存儲在數據庫中,或者推薦一個不同的存儲介質。不打算開始一場神聖的戰爭。
- 如果xml應該作爲不同類型返回(例如,
CAST([info] AS VARCHAR(MAX))
),請告訴我。 - 我寧願使用LINQ來解析對象,一旦我有了它,所以請不要推薦其他方法。
在此先感謝。
那麼容易!謝謝。我沒有偶然發現XDocument.Parse(),這使得它非常簡單。另外,鏈接回Jon Skeet的答案 - 永遠不錯。 :D –
使用'XElement.Parse'可能會更好,除非所討論的XML是完整的文檔 - 請參閱[here](http://msdn.microsoft.com/zh-cn/library/bb675196.aspx)和[這裏](http://stackoverflow.com/questions/1671542/whats-the-difference-between-xelement-load-and-xdocument-load)。 –