【问题标题】:LINQ to XML - Get element based on a nested elements valueLINQ to XML - 基于嵌套元素值获取元素
【发布时间】:2010-10-15 19:12:15
【问题描述】:

我想根据嵌套元素的值在我的 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

谢谢。

【问题讨论】:

  • 你的问题能说得更清楚点吗?你期待的结果是什么?如果您只是给我们第一次尝试而没有说明您尝试有什么问题,我们如何为您提供帮助?
  • 抱歉。基本上,如果我有很多代理节点,我想选择包含产品节点的代理,其产品 ID 仅使用产品 ID 进行搜索。

标签: c# linq


【解决方案1】:

不完全清楚,但听起来你想要......

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-21
    相关资源
    最近更新 更多