如何在C#中使用linq循环遍历xml?

标记
<?xml version="1.0" encoding="UTF-8"?>
<pricebooks>
    <pricebook>
        <header pricebook-id="Indian Rupees">
            <currency>INR</currency>
            <display-name xml:lang="x-default">Indian Rupees</display-name>
            <description xml:lang="x-default">Indian Rupees</description>
            <online-flag>true</online-flag>
        </header>

        <price-tables>
            <price-table product-id="0100014">
                <amount quantity="1">12000.00</amount>
                <amount quantity="3">30000.00</amount>
                <price-info>testpriceinfo</price-info>
            </price-table>

            <price-table product-id="LST">
                <amount quantity="1">555.00</amount>
            </price-table>
        </price-tables>
    </pricebook>
</pricebooks>

如何使用linq遍历上述xml?
我只想遍历并在控制台中打印值。
我想在控制台中显示以下字段。

  1. pricebook_id
  2. 货币
  3. 显示名称
  4. 描述
  5. 在线标志
  6. product_id
  7. 数量
har07

这是一个肮脏的例子,不进行空值检查,不假设缺少任何元素。目的只是为了展示如何遍历并获取感兴趣的每个元素,就像您在问题中所问的那样:

var xml = @"<?xml version=""1.0"" encoding=""UTF-8""?>
<pricebooks>
    <pricebook>
        <header pricebook-id=""Indian Rupees"">
            <currency>INR</currency>
            <display-name xml:lang=""x-default"">Indian Rupees</display-name>
            <description xml:lang=""x-default"">Indian Rupees</description>
            <online-flag>true</online-flag>
        </header>

        <price-tables>
            <price-table product-id=""0100014"">
                <amount quantity=""1"">12000.00</amount>
                <amount quantity=""3"">30000.00</amount>
                <price-info>testpriceinfo</price-info>
            </price-table>

            <price-table product-id=""LST"">
                <amount quantity=""1"">555.00</amount>
            </price-table>
  </price-tables>
    </pricebook>
</pricebooks>";
var doc = XDocument.Parse(xml);
foreach (var pricebook in doc.Descendants("pricebook"))
{
    Console.WriteLine(pricebook.Element("header").Attribute("pricebook-id").Value);
    Console.WriteLine(pricebook.Element("header").Element("currency").Value);
    Console.WriteLine(pricebook.Element("header").Element("display-name").Value);
    Console.WriteLine(pricebook.Element("header").Element("description").Value);
    Console.WriteLine(pricebook.Element("header").Element("online-flag").Value);
    foreach (var priceTable in pricebook.Descendants("price-table"))
    {
        Console.WriteLine(priceTable.Attribute("product-id").Value);
        foreach (var amount in priceTable.Elements("amount"))
        {
            Console.WriteLine(amount.Attribute("quantity").Value);
        }
    }
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在bash -c命令中使用遍历循环

来自分类Dev

如何在C#中使用Linq将XML属性更新为XML

来自分类Dev

如何在C#中使用linq查询对循环顺序进行排序?

来自分类Dev

如何在Unity C#脚本中使用System.Xml.Linq?

来自分类Dev

如何在c#中使用循环依赖项将对象序列化为xml?

来自分类Dev

如何在Linq C#中使用分区?

来自分类Dev

如何在Linq Entity Framework C#中使用if语句

来自分类Dev

如何在命令的 for 循环中使用变量?(C#)

来自分类Dev

在C#中使用LINQ解析XML

来自分类Dev

在C#中使用LINQ创建XML

来自分类Dev

如何在Swift中使用for循环遍历元组数组

来自分类Dev

如何在本机反应中使用for循环遍历数组?

来自分类Dev

如何在C#中使用Datagridview显示XML数据

来自分类Dev

如何在C#中使用此xml Web服务?

来自分类Dev

C#如何遍历循环

来自分类Dev

在 C# 中使用 LINQ to XML 生成 XML 报告

来自分类Dev

如何在C#.net中使用Linq表达式或AsEnumerable转换Foreach循环?

来自分类Dev

在C#中使用LINQ将XML解析为类

来自分类Dev

在C#中使用LINQ将XML解析为类

来自分类Dev

如何在linq C#中使用group by并获取记录列表

来自分类Dev

如何在C#中使用Linq从泛型创建动态选择投影?

来自分类Dev

如何在C#中使用linq获取多级深度订单项?

来自分类Dev

如何在C#中使用DBContext编写动态LINQ查询

来自分类Dev

如何在C#中使用Linq获取当前日期模块名称?

来自分类Dev

如何在C#中使用Linq替换DataTable所有行的双引号?

来自分类Dev

如何在C#中使用LINQ转换JSON字符串

来自分类Dev

如何在C#中使用Contains和Linq方法在字符串中搜索数字?

来自分类Dev

如何在C#中使用linq检查列表中是否存在两个值

来自分类Dev

如何在C#中使用Linq从DataSet中获取数据?

Related 相关文章

  1. 1

    如何在bash -c命令中使用遍历循环

  2. 2

    如何在C#中使用Linq将XML属性更新为XML

  3. 3

    如何在C#中使用linq查询对循环顺序进行排序?

  4. 4

    如何在Unity C#脚本中使用System.Xml.Linq?

  5. 5

    如何在c#中使用循环依赖项将对象序列化为xml?

  6. 6

    如何在Linq C#中使用分区?

  7. 7

    如何在Linq Entity Framework C#中使用if语句

  8. 8

    如何在命令的 for 循环中使用变量?(C#)

  9. 9

    在C#中使用LINQ解析XML

  10. 10

    在C#中使用LINQ创建XML

  11. 11

    如何在Swift中使用for循环遍历元组数组

  12. 12

    如何在本机反应中使用for循环遍历数组?

  13. 13

    如何在C#中使用Datagridview显示XML数据

  14. 14

    如何在C#中使用此xml Web服务?

  15. 15

    C#如何遍历循环

  16. 16

    在 C# 中使用 LINQ to XML 生成 XML 报告

  17. 17

    如何在C#.net中使用Linq表达式或AsEnumerable转换Foreach循环?

  18. 18

    在C#中使用LINQ将XML解析为类

  19. 19

    在C#中使用LINQ将XML解析为类

  20. 20

    如何在linq C#中使用group by并获取记录列表

  21. 21

    如何在C#中使用Linq从泛型创建动态选择投影?

  22. 22

    如何在C#中使用linq获取多级深度订单项?

  23. 23

    如何在C#中使用DBContext编写动态LINQ查询

  24. 24

    如何在C#中使用Linq获取当前日期模块名称?

  25. 25

    如何在C#中使用Linq替换DataTable所有行的双引号?

  26. 26

    如何在C#中使用LINQ转换JSON字符串

  27. 27

    如何在C#中使用Contains和Linq方法在字符串中搜索数字?

  28. 28

    如何在C#中使用linq检查列表中是否存在两个值

  29. 29

    如何在C#中使用Linq从DataSet中获取数据?

热门标签

归档