相关文章推荐
活泼的柚子  ·  Python Dataframe ...·  1 年前    · 
安静的冰棍  ·  Stata: ...·  1 年前    · 
火爆的凳子  ·  WebGL and OpenGL ...·  1 年前    · 

你可以在查询 XML 时对结果进行排序。 本文提供了两个示例:第一个对不在命名空间中的 XML 的结果进行排序,第二个对位于命名空间中的 XML 进行相同的排序。

示例:编写对查询结果进行排序的查询

本示例演示如何编写对查询结果进行排序的查询。 它使用 XML 文档 示例 XML 文件:数值数据

XElement root = XElement.Load("Data.xml");
IEnumerable<decimal> prices =
    from el in root.Elements("Data")
    let price = (decimal)el.Element("Price")
    orderby price
    select price;
foreach (decimal el in prices)
    Console.WriteLine(el);
Dim root As XElement = XElement.Load("Data.xml")
Dim prices As IEnumerable(Of Decimal) = _
    From el In root.<Data> _
    Let price = Convert.ToDecimal(el.<Price>.Value) _
    Order By (price) _
    Select price
For Each el As Decimal In prices
    Console.WriteLine(el)

该示例产生下面的输出:

24.50 29.00 66.00 89.99

示例:在命名空间中编写一个对其结果进行排序的查询

下面的示例演示如何对命名空间中的 XML 进行同样的查询。 它使用 XML 文档示例 XML 文件:命名空间中的数值数据

有关详细信息,请参阅命名空间概述

XElement root = XElement.Load("DataInNamespace.xml");
XNamespace aw = "http://www.adatum.com";
IEnumerable<decimal> prices =
    from el in root.Elements(aw + "Data")
    let price = (decimal)el.Element(aw + "Price")
    orderby price
    select price;
foreach (decimal el in prices)
    Console.WriteLine(el);
Imports <xmlns='http://www.adatum.com'>
Module Module1
    Sub Main()
        Dim root As XElement = XElement.Load("DataInNamespace.xml")
        Dim prices As IEnumerable(Of Decimal) = _
            From el In root.<Data> _
            Let price = Convert.ToDecimal(el.<Price>.Value) _
            Order By (price) _
            Select price
        For Each el As Decimal In prices
            Console.WriteLine(el)
    End Sub
End Module

该示例产生下面的输出:

24.50 29.00 66.00 89.99
  • 对数据进行排序 (C#)
  • 对数据进行排序 (Visual Basic)
  • 基本查询 (LINQ to XML) (Visual Basic)
  •