2017-02-16 8 views
0

노드 이름별로 XDocument를 정렬해야하는 문제에 직면했습니다. 예이름으로 xDocument 노드를 정렬하는 방법

<contact> 
    <email></email> 
    <address></address> 
    <name></name> 
</contact> 

그리고

<contact> 
    <address></address> 
    <email></email> 
    <name></name> 
</contact> 

여러분의 도움에 감사드립니다 싶어.

나는

var ab = xdoc.Descendants("contact"); 
      var s = from abs in ab 
        orderby abs.Name.ToString() descending 
        select abs; 

을 사용하려했지만 결과는 동일

+2

어떤에서 당신을 중지를 이 일을 해결하는 중간에? [How to Ask [참조] (http://stackoverflow.com/help/how-to-ask)를 참조하십시오. –

+0

많은 stackoverflow 페이지를 보았지만 올바른 대답을 찾지 못했습니다. – sirishotka

+0

연락처가 두 명 이상입니까? – octavioccl

답변

1

당신은 주문 노드와 자식 노드를 교체해야 체재 :

  XDocument doc = XDocument.Parse(@"<contact> 
    <email></email> 
    <address></address> 
    <name></name> 
</contact>"); 
      doc.Root.ReplaceNodes(doc.Root.Elements().OrderBy(el => el.Name.LocalName));