Просто интересно, почему словарь не поддерживается XmlSerializer?
Вы можете легко обойти это, используя DataContractSerializer и записывая объект в XmlTextWriter, но каковы характеристики словаря, что затрудняет работу XmlSerializer с учетом его действительно массива KeyValuePairs.
Фактически вы можете передать IDictionary<TKey, TItem> методу, ожидающему IEnumerable<KeyValuePairs<TKey, ITem>>.