C# 在XML数据源上使用LINQ
我有一个这样定义的XML集合:C# 在XML数据源上使用LINQ,c#,xml,linq,C#,Xml,Linq,我有一个这样定义的XML集合: XNamespace ns = "http://www.example.com/Modules"; XNamespace ns2 = "http://www.example.com/Modules/Ext"; XDocument doc = new XDocument( new XElement(ns + "Modules", new XAttribute(XNamespa
XNamespace ns = "http://www.example.com/Modules";
XNamespace ns2 = "http://www.example.com/Modules/Ext";
XDocument doc = new XDocument(
new XElement(ns + "Modules",
new XAttribute(XNamespace.Xmlns + "ns2", ns2 ),
new XElement(ns + "Module", "Introduction to LINQ"),
new XElement(ns + "Module", "LINQ and C#"),
new XElement(ns2 + "Extra", "Extra contect"))
);
我想打印“模块”元素的值。这是我的密码:
var courses = from e in doc.Descendants("Module")
let lowname = e.Value.ToLowerInvariant()
where lowname.Contains("linq")
orderby e.Value
select e.Value;
foreach (var course in courses)
{
Console.WriteLine(course);
}
我不明白为什么我不能检索任何数据。查询错误吗?在获取项时,还需要指定名称空间
XNamespace ns = "http://www.example.com/Modules";
var courses = from e in doc.Descendants(ns + "Module")
let lowname = e.Value.ToLowerInvariant()
where lowname.Contains("linq")
orderby e.Value
select e.Value;