title: Walking an XML tree in C#
body: <p>I'm new to .net and c#, so I want to make sure i'm using the right tool for the job.</p>
  
  <p>The XML i'm receiving is a description of a directory tree on another machine, so it go many levels deep. What I need to do now is to take the XML and create a structure of objects (custom classes) and populate them with info from the XML input, like File, Folder, Tags, Property...</p>
  
  <p>The Tree stucture of this XML input makes it, in my mind, a prime candidate for using recursion to walk the tree.</p>
  
  <p>Is there a different way of doing this in .net 3.5?</p>
  
  <p>I've looked at XmlReaders, but they seem to be walking the tree in a linear fashion, not really what i'm looking for...</p>
  
  <p>The XML i'm receiving is part of a 3rd party api, so is outside my control, and may change in the futures.</p>
  
  <p>I've looked into Deserialization, but it's shortcomings (black box implementation, need to declare members a public, slow, only works for simple objects...) takes it out of the list as well.</p>
  
  <p>Thanks for your input on this.</p>