Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan sortera dina resultat när du frågar XML. Den här artikeln innehåller två exempel: den första sorterar resultat för XML som inte finns i ett namnområde och den andra gör samma sortering, men för XML som finns i ett namnområde.
Exempel: Skriva en fråga som sorterar dess resultat
Det här exemplet visar hur du skriver en fråga som sorterar dess resultat. Den använder XML-dokumentexempel-XML-fil : Numeriska data.
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)
Next
Det här exemplet genererar följande utdata:
0.99
4.95
6.99
24.50
29.00
66.00
89.99
Exempel: Skriva en fråga i ett namnområde som sorterar dess resultat
I följande exempel visas samma fråga för XML som finns i ett namnområde. Den använder XML-dokumentexempel-XML-fil : Numeriska data i ett namnområde.
Mer information finns i Översikt över namnområden.
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)
        Next
    End Sub
End Module
Det här exemplet genererar följande utdata:
0.99
4.95
6.99
24.50
29.00
66.00
89.99