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

Rya*_*res 10 c# xml sql linq linqpad

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

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

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

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

Ahm*_*eed 6

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


tho*_* nn 6

这对我有用。

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();
Run Code Online (Sandbox Code Playgroud)