2009-06-20 5 views
3

난 그냥 LINQ to XML의를 사용하여 시작하고있어 속성과이 같은 기록 간단한 문서가 있습니다Linq는 XML 멍청한 놈에 대한 질문 -에 의해 별개의 순서는

<record date="6/27/2002" symbol="DG" price="15.00" /> 

나는 별개의 기호 목록이 원하는을 문자열로, 순서대로.

var query = 
    from e in xml.Elements() 
    select e.Attribute("symbol"); 

어떻게 이것이 내가 원하는 걸 줄을 수정할 수 있습니다

이 나에게 모든 속성의 정렬되지 않은 목록을 제공합니다,하지만 난 갇혔어요?

답변

2

내가 할 거라고 그 람다 구문 :

var query = xml.Elements() 
       .Select(e => (string)e.Attribute("symbol")) 
       .Distinct() 
       .OrderBy(x=>x); 
7

에 대해 어떻게 :

var query = (from e in xml.Elements() 
       let symbol = (string)e.Attribute("symbol") 
       where symbol != null 
       orderby symbol 
       select symbol).Distinct(); 
+2

Enumerable.Distinct() 순서를 다시하지 않는 .NET 3.5의 개체를하지만, 문서 미래에 이것에 대해 약속하지 마십시오. 나는 먼저 Distinct를 선택하고 별개의 세트에 순서를 적용합니다. http://msdn.microsoft.com/en-us/library/bb348436.aspx "방법은 순서가없는 순서를 반환합니다" –

+0

충분히 공정하게 - 좋은 지점. 구현 세부 사항으로서, 현재 주문을 유지하지만 정확한 것은 사실입니다. 문서가이를 보장하지는 않습니다. –

+0

굉장 해요, 락큰 씨. – jcollum