多凡在LINQ(XML)? [英] Multiple where in linq (xml)?
本文介绍了多凡在LINQ(XML)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想通过给linktext的(最近3个月)和SecondaryLink的linkID S14在LINQ阅读navlinks(L63)的链接ID:
< SecondaryLink>
<链路ID>
&其中;![CDATA [S14]]≥
< /链路ID>
< linktext的>
<![CDATA [所有品牌]>
< / linktext的>
< LeftMenu>
< NavLinks>
<链路ID>
&其中;![CDATA [L63]]≥
< /链路ID>
< linktext的>
<![CDATA [最近3个月]]>
< / linktext的>
< / NavLinks>
< / LeftMenu>
< / SecondaryLink>
这是我有什么,我想给多一个,其中condtion在此。
字符串secondaryid = doc.Descendants()
.Elements(linktext的)
。凡(X => x.Value ==过去3个月)
。单()
.Parent
.Element(链路ID)值。
这是的linkID = S14
解决方案
变种Q =从C在xml.Descendants(SecondaryLink)
其中(串)c.Element(链路ID)==S14
其中(串)c.Element(LeftMenu)。元素(NavLinks)。元素(linktext的)==过去3个月
选择c.Element(LeftMenu)元素(NavLinks)元素(链路ID)。;
I want to read link id of navlinks(l63) by giving linktext(Last 3 Months) and SecondaryLink linkid s14 in linq:
<SecondaryLink>
<LinkID>
<![CDATA[s14]]>
</LinkID>
<LinkText>
<![CDATA[All Brands]]>
</LinkText>
<LeftMenu>
<NavLinks>
<LinkID>
<![CDATA[l63]]>
</LinkID>
<LinkText>
<![CDATA[Last 3 Months]]>
</LinkText>
</NavLinks>
</LeftMenu>
</SecondaryLink>
This is what I have, I want to give one more where condtion in this.
string secondaryid = doc.Descendants()
.Elements("LinkText")
.Where(x => x.Value == "Last 3 Months")
.Single()
.Parent
.Element("LinkID").Value;
that is linkid=s14
解决方案
var q = from c in xml.Descendants("SecondaryLink")
where (string)c.Element("LinkID") == "s14"
where (string)c.Element("LeftMenu").Element("NavLinks").Element("LinkText") == "Last 3 Months"
select c.Element("LeftMenu").Element("NavLinks").Element("LinkID");
这篇关于多凡在LINQ(XML)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文