title: What's a better alternative to the following data structure: Dictionary<string, Dictionary<string, string>>
body: <p>I have the following set of data</p>
  
  <pre><code>&lt;ids&gt;
     &lt;id1 attr1="value1" attr2="value2" /&gt;
     &lt;id2 attr3="value3" attr4="value4" /&gt;
     &lt;id3 attr2="value6" attr5="value7" /&gt;
  &lt;/ids&gt;
  </code></pre>
  
  <p>Basically, it's an XML that can have any node name with any attribute name with any attribute value.</p>
  
  <p>After parsing the XML, I store the attribute data in a Dictionary.
  Then I store that same Dictionary as a value with the node name as a key.
  So my data structure would be a Dictionary&lt;string, Dictionary&lt;string, string&gt;&gt; (let's give this a variable name called "dict")
  So if I wanted to get the value for attr2 in the id1 node, I would do:</p>
  
  <pre><code>string value = dict["id1"]["attr2"];
  // value will be value2
  </code></pre>
  
  <p>I think this is a pretty simple and workable solution for my needs, but there just seems to be this voice at the back of my head telling me that there is a different data structure or simpler solution that I'm missing out on. What does everyone think?</p>