次のような XML があります。
<roottag>
<tag1>.....</tag1>
<tag2>.....</tag2>
<tag3>
<tag3.1>.....</tag3.1>
<tag3.2>.....</tag3.2>
</tag3>
<tag4>
<tag4.1>
<tag4.1.1>......</tag4.1.1>
</tag4.1>
</tag4>
</roottag>
この XML を簡単にトラバースできる形式に変換し、XML の階層を維持したいと考えています。phpには、Nested Associative Array
使えるものがあります。C#ではどうすればこれを達成できますか?