Итак, вы хотите, чтобы ключи и значения словаря выводились в виде строки таким образом?Звучит достаточно просто:
var myDictionary = new Dictionary<string,string>();
//populate Dictionary
//a Dictionary<string,string> is an IEnumerable<KeyValuePair<sring,string>>
//so, a little Linq magic will work wonders
var myAttributeString = myDictionary.Aggregate(new StringBuilder(), (s, kvp) => s.Append(kvp.Key + "=\"" + (kvp.Value ?? String.Empty) + "\" "));
Результатом будет строка, похожая на ту, что у вас в вопросе, с завершающим пробелом (что в XML не так уж сложно, но вы можете обрезать ее, если хотите).
Вы также можете использовать возможности XML .NET для фактического помещения значений в XML в качестве строки атрибута элемента.Строка атрибута окажется в элементе XML в документе, который, вероятно, и должен быть в любом случае:
XMLDocument doc = new XMLDocument()
XMLElement myElement = doc.CreateElement("myElement")
foreach(var kvp in myDictionary)
myElement.SetAttribute(kvp.Key, kvp.Value);