title: Need C# solution to read xml element value
body: <p>I have a complex structure xml from which I need to read some element value.
  My xml is somewhat like this:</p>
  
  <pre><code>&lt;plist version="1.0"&gt;
  &lt;dict&gt;
  &lt;key&gt;XYZ&lt;/key&gt;
  &lt;dict&gt;
      &lt;key&gt;KEYVALUE1&lt;/key&gt;
      &lt;dict&gt;
          &lt;key&gt;A&lt;/key&gt;
          &lt;date&gt;AVALUE1&lt;/date&gt;
          &lt;key&gt;B&lt;/key&gt;
          &lt;string&gt;BVALUE1&lt;/string&gt;            
      &lt;/dict&gt;
      &lt;key&gt;KEYVALUE2&lt;/key&gt;
      &lt;dict&gt;
          &lt;key&gt;A&lt;/key&gt;
          &lt;date&gt;AVALUE2&lt;/date&gt;
          &lt;key&gt;B&lt;/key&gt;
          &lt;string&gt;BVALUE2&lt;/string&gt;    
          &lt;key&gt;C&lt;/key&gt;
          &lt;string&gt;CVALUE2&lt;/string&gt;        
      &lt;/dict&gt;
  &lt;/dict&gt;
  &lt;/dict&gt;
  &lt;/plist&gt;
  </code></pre>
  
  <p>What I need is: search for a dict with KEYVALUE2, and wherever I get it, pick BVALUE2 out of it (you can replace 2 with whatever number, I have just included 2 nodes for brevity).</p>
  
  <p>I am newbie for xml programming and all my attempts to try out MS documentation have only confused me more. Sometimes I find a xmlreader example which didn't quite serve my purpose, and other time I got LINQ example which confused me because of its structure. Please help!</p>