title: LINQ: Can we create a flat list from hierarchy
body: <p>OK... the title is correct... </p>
  
  <p><strong>I dont want hierarchy from a flat list but exact reverse</strong></p>
  
  <p>I have Folder class which has list of Folders in it held by property <code>Children</code>. So this is a typical hierarchy model.</p>
  
  <p>I now want to flatten this list out... it will be an pre-order traversal i.e. </p>
  
  <p>Assume</p>
  
  <pre><code>   A
     - A.1
     ----- A.1.1
     ----- A.1.2
     - A.2
     ----- A.2.1
     - A.3
     B
     - B.1
     - B.2
     ----- B.2.1
     ----- B.2.2
     ----------- B.2.2.1
     ----------- B.2.2.2 
  </code></pre>
  
  <p>From this hierarchy, the flat list I am expecting is exactly the order in which it is appearing above!</p>
  
  <p>If LINQ cant do this then can an XSLT make it flat into a list of xml-elements?</p>