使用LINQPad查询包含嵌套元素的XML文件?

时间:2011-08-12 23:09:45

标签: c# sql xml linq linqpad

我正在使用LINQPad使用C#查询和可视化XML文件。例如:

var xml = XElement.Load(@"C:\file.xml");
xml.Elements().Where(e => e.Element("trHeader").Element("trTickNum").Value == "1").Dump();

但是,我想使用SQL而不是C#运行查询。

有没有办法加载包含嵌套元素的XML并使用LINQPad的SQL选项查询其表?

2 个答案:

答案 0 :(得分:6)

那是不可能的。 SQL选项需要指定数据库,并用于查询该数据库。对于具有自己的层次结构的XML文件,不可能使用SQL。你可以做的是找出一种方法将XML加载到SQL中,或者在SQL中使用XML数据类型,然后使用SQL语句完全对数据进行操作。

答案 1 :(得分:3)

这对我有用。

var xml = XElement.Load(@"C:\AllTypesList.xml");
var list = xml.Elements().ToList();
var types = list.Where(x => x.Name == "XmlParamType").ToList();
types.Count().Dump();
types.GroupBy(t => t.Element("TypeName").Value).Count().Dump();