C# XML-从SQL Server到LINQ再到XML
设置: 我将一些xml数据存储在一个数据库(SQLServer2008R2)中,该数据库通过存储过程检索并放入一个数据表中。DataTable有两列:DateTime“timestamp”和XML“info” 从数据库中提取这些数据后,我想循环遍历每一行,并使用C#中的LINQ to XML对数据进行操作C# XML-从SQL Server到LINQ再到XML,c#,xml,linq-to-xml,C#,Xml,Linq To Xml,设置: 我将一些xml数据存储在一个数据库(SQLServer2008R2)中,该数据库通过存储过程检索并放入一个数据表中。DataTable有两列:DateTime“timestamp”和XML“info” 从数据库中提取这些数据后,我想循环遍历每一行,并使用C#中的LINQ to XML对数据进行操作 publicstaticvoidparsedatatable(DataTable) { for(int r=0;r
publicstaticvoidparsedatatable(DataTable)
{
for(int r=0;r
我的问题:
将这些数据放入可以使用LINQ的对象的最简单方法是什么?应该使用什么类型的对象
此外:
- 请不要询问为什么xml存储在数据库中,也不要推荐其他存储介质。不想发动一场圣战
- 如果xml应该以不同类型返回(例如,
),请告诉我CAST([info]as VARCHAR(MAX))
- 我宁愿使用LINQ来解析对象,一旦我有了它,所以请不要推荐其他方法
XDocument doc = XDocument.Parse(dataTable.Rows[r]["info"].ToString());
然后你就可以这么简单了!非常感谢。我没有偶然发现XDocument.Parse(),这使得这个过程非常简单。另外,链接回Jon Skeet的答案-总是好的:DIt最好使用
XElement.Parse
,除非所讨论的XML是完整文档——请参阅和。
XDocument doc = XDocument.Parse(dataTable.Rows[r]["info"].ToString());