Преобразовать словарь <string, string> в xml - PullRequest
1 голос
/ 02 декабря 2009

Я хочу преобразовать словарь <строка, строка> в этот xml:

<root>
    <key>value</key>
    <key2>value2</key2>
</root>

Можно ли это сделать с помощью какого-нибудь необычного linq?

1 Ответ

4 голосов
/ 02 декабря 2009

Не нужно даже особенно придумывать:

var xdoc = new XDocument(new XElement("root",
       dictionary.Select(entry => new XElement(entry.Key, entry.Value))));

Полный пример:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;

class Test
{
    static void Main()
    {
        var dictionary = new Dictionary<string, string>
        {
            { "key", "value" },
            { "key2", "value2" }
        };

        var xdoc = new XDocument(new XElement("root",
            dictionary.Select(entry => new XElement(entry.Key, entry.Value))));

        Console.WriteLine(xdoc);
    }
}

Выход:

<root>
  <key>value</key>
  <key2>value2</key2>
</root>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...