查询XML时如何在LINQ中添加OR条件?

cyboashu

问题:返回所有记录where Jon Doe =<bus_contact> OR <bus_sponsor>

当前代码返回记录1,那么仅使用一个查询就需要对记录1和2进行哪些修改?

XML格式

<root>
  <row>
    <project_id>1</project_id>
    <project_name>Name1</project_name>
    <bus_contact>Jon Doe</bus_contact>
    <bus_sponsor>Bruce Wayne</bus_sponsor>
  </row>
  <row>
    <project_id>2</project_id>
    <project_name>Name2</project_name>
    <bus_contact>Peter Parker</bus_contact>
    <bus_sponsor>Jon Doe</bus_sponsor>
  </row>
</root>

C#

class Program
{
    static void Main (string[] args)
    {
        XElement main = XElement.Load ("master_list.xml");

        var results = main.Descendants ("row")
            .Descendants ("bus_contact")
            .Where (e => e.Value == "Jon Doe")
            .Select (e => e.Parent)               
            .Select (e => new {
                project_id = e.Descendants ("project_id").FirstOrDefault ().Value,
                project_name = e.Descendants ("project_name").FirstOrDefault ().Value
            });

        foreach (var result in results)
            Console.WriteLine ("{0}, {1}", result.project_id, result.project_name);
        Console.ReadLine ();
    }
}

编辑:这与可能重复的链接中指出的问题不完全相同。是的,它部分地指的是,但是对于初学者来说,获得具有适当上下文的答案(被接受的答案提供)是非常有帮助的。

谢尔盖·卡里尼琴科(Sergey Kalinichenko)

||结合Any,就像这样:

var results = main.Descendants("row")
    .Where(r =>
        r.Descendants("bus_contact").Any(c => c.Value == "Jon Doe")
    ||  r.Descendants("bus_sponsor").Any(c => c.Value == "Jon Doe")
    );

使用Any,您可以按条件查询孩子,而无需实际下降到孩子级别。这样就消除了通过选择重新爬树的必要性Parent

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在查询中添加日期条件?

来自分类Dev

如何在查询中添加日期条件?

来自分类Dev

如何在SQL中读取xml时将条件添加到COALESCE

来自分类Dev

如何在linq lambda表达式中添加条件

来自分类Dev

在LINQ查询中添加N个条件?

来自分类Dev

GeoFire:如何在查询中添加额外条件?

来自分类Dev

如何在SQL查询中添加不同的条件语句

来自分类Dev

如何在SQL查询中添加多个AND条件?

来自分类Dev

如何在SQLite查询的“文本”字段中添加WHERE条件?

来自分类Dev

如何在不满足条件时从空的 linq 查询值中获取 0,然后将其设置为 ViewBag

来自分类Dev

如何在Linq查询或Linq查询结果中添加自定义项目

来自分类Dev

如何在LINQ中查询?

来自分类Dev

如何在条件中添加条件

来自分类Dev

如何在条件中添加条件

来自分类Dev

LINQ查询中的条件

来自分类Dev

SQL 查询到 LINQ 如何在 linq 中编写查询

来自分类Dev

如何在排名中执行linq查询?

来自分类Dev

无法弄清楚如何在此LINQ查询中添加where子句

来自分类Dev

如何在单个linq查询中有条件地添加where子句并过滤子级?

来自分类Dev

如何在基于相关模型数据的口才查询中添加条件?

来自分类Dev

如何在MDX查询中添加条件(度量值大于0)

来自分类Dev

如何在MVC 4中将条件查询字符串添加到URL?

来自分类Dev

如何在Laravel 6.x中将模型的相关条件添加到雄辩的查询中?

来自分类Dev

如何在SQL分页查询中的WHERE子句中添加其他条件

来自分类Dev

如何在joomla查询的where条件中添加两个ID?

来自分类Dev

您可以在LINQ(XML)查询中添加If语句吗?

来自分类Dev

使用IF条件时,如何在django中的单个查询中更新数据库?

来自分类Dev

如何在搜索查询中编写条件?

来自分类Dev

如何在graphQL查询中添加变量?

Related 相关文章

  1. 1

    如何在查询中添加日期条件?

  2. 2

    如何在查询中添加日期条件?

  3. 3

    如何在SQL中读取xml时将条件添加到COALESCE

  4. 4

    如何在linq lambda表达式中添加条件

  5. 5

    在LINQ查询中添加N个条件?

  6. 6

    GeoFire:如何在查询中添加额外条件?

  7. 7

    如何在SQL查询中添加不同的条件语句

  8. 8

    如何在SQL查询中添加多个AND条件?

  9. 9

    如何在SQLite查询的“文本”字段中添加WHERE条件?

  10. 10

    如何在不满足条件时从空的 linq 查询值中获取 0,然后将其设置为 ViewBag

  11. 11

    如何在Linq查询或Linq查询结果中添加自定义项目

  12. 12

    如何在LINQ中查询?

  13. 13

    如何在条件中添加条件

  14. 14

    如何在条件中添加条件

  15. 15

    LINQ查询中的条件

  16. 16

    SQL 查询到 LINQ 如何在 linq 中编写查询

  17. 17

    如何在排名中执行linq查询?

  18. 18

    无法弄清楚如何在此LINQ查询中添加where子句

  19. 19

    如何在单个linq查询中有条件地添加where子句并过滤子级?

  20. 20

    如何在基于相关模型数据的口才查询中添加条件?

  21. 21

    如何在MDX查询中添加条件(度量值大于0)

  22. 22

    如何在MVC 4中将条件查询字符串添加到URL?

  23. 23

    如何在Laravel 6.x中将模型的相关条件添加到雄辩的查询中?

  24. 24

    如何在SQL分页查询中的WHERE子句中添加其他条件

  25. 25

    如何在joomla查询的where条件中添加两个ID?

  26. 26

    您可以在LINQ(XML)查询中添加If语句吗?

  27. 27

    使用IF条件时,如何在django中的单个查询中更新数据库?

  28. 28

    如何在搜索查询中编写条件?

  29. 29

    如何在graphQL查询中添加变量?

热门标签

归档