多凡在LINQ(XML)? [英] Multiple where in linq (xml)?

查看:138
本文介绍了多凡在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆