【发布时间】:2010-10-09 03:13:31
【问题描述】:
我创建了一个 IEnumerable 对象,它只包含我想要的 xml 文件中的节点:
IEnumerable<XElement> rosters = XDocument.Load("roster.xml")
.Elements("rosterlist")
.Elements("roster")
.Where(w => w.Element("division")
.Value
.Equals("SUPER AWESOME DIVISION"));
所以它是这些的集合:
<rosterlist>
<roster>
<userid>1</userid>
<name></name>
<etc></etc>
</roster>
<roster>
<userid>2</userid>
<name></name>
<etc></etc>
</roster>
</rosterlist>
我只想获取userid 属性也是userid 节点在rosters 集合中的用户。
IEnumerable<XElement> users = XDocument.Load("user.xml")
.Elements("userlist")
.Elements("user")
.Where(w => rosters.Elements("userid")
.Contains(w.Attribute("userid").Value));
但它给了我一个错误:
无法从用法中推断方法“System.Linq.Enumerable.Contains(System.Collections.Generic.IEnumerable, TSource)”的类型参数。尝试明确指定类型参数。
我的方法有什么问题?
【问题讨论】: