요소를 정렬하는 방법(LINQ to XML)
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)
Next
이 예제는 다음과 같은 출력을 생성합니다.
0.99
4.95
6.99
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)
Next
End Sub
End Module
이 예제는 다음과 같은 출력을 생성합니다.
0.99
4.95
6.99
24.50
29.00
66.00
89.99
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET