I dont know anything directly unless you use Serialization to do it for you.
I have found this form to be pretty useful, and fairly compact in most situations:
<properties>
<property key="xyz">abc</property>
</properties>
Then iterate through them with something similar to:
Dictionary<string, string> properties = new Dictionary<string, string>()
foreach(XmlNode property in root.SelectNodes("properties/property") {
string name = property.Attributes["key"].Value as string
string value = property.InnerText;
properties.add(name, value);
}