关于Linq to xml的问题来自我正在关注的教程

时间:2011-04-06 17:30:30

标签: xml linq sharepoint sharepoint-2010 linq-to-xml

我正在关注 this tutorial

var groups = from sharePointGroup in groupsXml.Root.Elements("Group")

                select new

                {

                    Name = sharePointGroup.Attribute("Name").Value,

                    Owner = sharePointGroup.Attributes("Owner").Any() ? sharePointGroup.Attribute("Owner").Value : null,

                    Description = sharePointGroup.Attributes("Description").Any() ? sharePointGroup.Attribute("Description").Value : string.Empty,

                    PermissionLevel = sharePointGroup.Attributes("PermissionLevel").Any() ? sharePointGroup.Attribute("PermissionLevel").Value : null,

                    Users = sharePointGroup.Elements("User").Any() ? sharePointGroup.Elements("User") : null

                };

他们有:groupsXml.Root.Elements("Group")但是当我尝试这样做时,我收到错误

  

错误3找不到   查询模式的实现   对于源类型   'System.Collections.Generic.IEnumerable'。   找不到“选择”。你错过了吗?   引用'System.Core.dll'或   使用'System.Linq'的指令

当我查看我的引用时,我看不到System.Linq(只有System.Xml.Linq;和SharePoint.linq)

当我查看 msdn时,我发现它需要一个“Xname”而不是一个字符串

1 个答案:

答案 0 :(得分:1)

  1. Xname有一个带字符串的构造函数,所以这是正确的。
  2. 如果您没有using System.Linq;,则需要添加它。
  3. 您无需为项目添加任何引用。命名空间System.Linq在System.Core.dll程序集中定义,默认情况下引用该程序集。