LINQ to XML - 基于嵌套元素值获取元素

时间:2010-10-15 11:02:20

标签: c# linq

我想根据nest元素的值选择XML中的元素。

以下是XML的示例:

<Agents>
    <Agent ID="xxx">
        <Login>xxx</Login>
        <Password>xxxx</Password>
        <Products>
            <Product ID="zzz">
            </Product>
        </Products>
    </Agent>
</Agents>

这是我第一次尝试LINQ查询:

var DetailsOfUserAccount =
  from agent in policySpecificationXml
        .Descendants("Agent")
        .FirstOrDefault(p => (string)p.Attribute("ID") == productId)
        .Descendants()
  select new

感谢。

1 个答案:

答案 0 :(得分:2)

不完全清楚,但听起来像你想要的东西......

var detailsOfUserAccount = policySpecificationXml
    .Descendants("Agent")
    .Where(agent => agent.Descandants("Product")
                         .Any(product => (string)product.Attribute("ID")
                                             == productId))
    .FirstOrDefault();