Я бы просто сериализовал словарь, так как это то, что приложение использует.
Предполагая, что у вас есть Dictionary<string, string>
здесь метод сериализации, который я бы использовал:
var entries =
dictionary
.Select(kvp =>
new XElement(
"entry",
new XAttribute("key", kvp.Key),
new XAttribute("value", kvp.Value)));
var xd = new XDocument(new XElement("dictionary", entries));
xd.Save(@"C:\filename.xml");
А затем вернуть его с диска:
var dictionary =
XDocument
.Load(@"C:\filename.xml")
.Root
.Elements("entry")
.ToDictionary(
x => x.Attribute("key").Value,
x => x.Attribute("value").Value);
Довольно просто, да?