ฉันสร้างวัตถุ 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)' ไม่สามารถอนุมานได้จากการใช้งาน ลองระบุอาร์กิวเมนต์ประเภทอย่างชัดเจน
แนวทางของฉันมีอะไรผิดปกติ?