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