问候!
我正在努力绕着LINQ缠头.如果我有一些这样的XML加载到XDocument对象中:
我想获取Group元素的所有Item子元素的属性值.这是我的查询的样子:
var results = from thegroup in l_theDoc.Elements("Root").Elements(groupName) select new { attrib1_val = thegroup.Element("Item").Attribute("attrib1").Value, attrib2_val = thegroup.Element("Item").Attribute("attrib2").Value, };
该查询有效,但是如果例如groupName变量包含"GroupB",则只返回一个结果(第一个Item元素)而不是三个.我错过了什么吗?
XElement e = XElement.Parse(testStr); string groupName = "GroupB"; var items = from g in e.Elements(groupName) from i in g.Elements("Item") select new { attr1 = (string)i.Attribute("attrib1"), attr2 = (string)i.Attribute("attrib2") }; foreach (var item in items) { Console.WriteLine(item.attr1 + ":" + item.attr2); }