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

C# 使用LINQPad查询包含嵌套元素的XML文件?,c#,sql,xml,linq,linqpad,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选项查询其表?这是不可能的。SQL选项要求指定一个数据库,并用

我使用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选项查询其表?

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

这对我很有用

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();

澄清一下:您需要将语言下拉列表设置为“C#Statement(s)”,这样才能工作。