Я ничего не знаю напрямую, если вы не используете Serialization, чтобы сделать это для вас.
Я нашел эту форму довольно полезной и довольно компактной в большинстве ситуаций:
<properties>
<property key="xyz">abc</property>
</properties>
Затем выполните итерацию по ним с чем-то похожим на:
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);
}