我正在使用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选项查询其表?
答案 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();