根据用户输入读取XML节点属性


<Default>
<SharepointContentType id="SharePointContentType">
<name id="Test1"
         DisplayName="TestOne"
         SharepointGroup="Test1SPGp">
    </name>
<name id="Test2"
         DisplayName="TestTwo"
          SharepointGroup="Test2SPGp">
    </name>
.
.
.
.
</SharepointContentType>
.
.
.
.
<Default>

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

例如,如果用户输入是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
                };

我认为您在where条件中有一个错误,请参阅以下内容:

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
                    };

相关内容

  • 没有找到相关文章

最新更新