0
<Default>
<SharepointContentType id="SharePointContentType">

<name id="Test1"
         DisplayName="TestOne"
         SharepointGroup="Test1SPGp">
    </name>

<name id="Test2"
         DisplayName="TestTwo"
          SharepointGroup="Test2SPGp">
    </name>
.
.
.
.

</SharepointContentType>
.
.
.
.
<Default>

对于上面我想下降的模式,找到一个 id 的节点,而不是找到id的SharePointContentType标签(用户定义),然后获取元素的值<name >Test1SharepointGroup

例如,如果用户输入Test1不是输出,Test1SPGp请帮助我尝试使用 linq 并设法编写如下代码,但未能成功。

    XDocument xDoc = XDocument.Load(GetDefaultXMLFile());

    var feeds = from feed in xDoc.Descendants("name")
                where feed.Attribute("id").Equals("admin")
                select new
                {
                    fxfv = feed.Attribute("SharepointGroup").Value
                };
4

1 回答 1

2

我认为你在 where 条件上有一个错误,见下文:

feed.Attribute("id") 返回 XAttribute 类,因此您不能使用 equals 与字符串进行比较,但在 Value 属性之后可以。

        var feeds = from feed in xDoc.Descendants("name")
                    where feed.Attribute("id").Value.Equals("Test1")
                    select new
                    {
                        fxfv = feed.Attribute("SharepointGroup").Value
                    };
于 2013-02-06T07:36:37.957 回答