Да, я бы обернул любой HTML в CDATA, тогда было бы тривиально выделить их в Dictionary<string,string>
.
string xml = "<?xml version= '1.0'?><root><node name=\"node1\">value</node><node name=\"node2\">value2</node></root>";
var doc = XDocument.Parse( xml );
var dict = doc.Element("root")
.Elements( "node" )
.Select( e => new
{
Key = e.Attribute( "name" ).Value,
Value = e.Value
} )
.ToDictionary( k => k.Key, v => v.Value );