问候!
我正在努力解决 LINQ 问题。如果我将诸如此类的一些 XML 加载到 XDocument 对象中:
<Root>
<GroupA>
<Item attrib1="aaa" attrib2="000" attrib3="true" />
</GroupA>
<GroupB>
<Item attrib1="bbb" attrib2="111" attrib3="true" />
<Item attrib1="ccc" attrib2="222" attrib3="false" />
<Item attrib1="ddd" attrib2="333" attrib3="true" />
</GroupB>
<GroupC>
<Item attrib1="eee" attrib2="444" attrib3="true" />
<Item attrib1="fff" attrib2="555" attrib3="true" />
</GroupC>
</Root>
我想获取 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 元素)而不是三个。我错过了什么吗?