Как я могу преобразовать список <string>в XML с помощью Linq? - PullRequest
3 голосов
/ 06 октября 2010

Обратный вопрос Как я могу преобразовать XML в список или строку []? .

У меня есть List<string> пользователей, и я хочу преобразовать их в следующий xml:

<Users>
    <User>Domain\Alice</User>
    <User>Domain\Bob</User>
    <User>Domain\Charly</User>
</Users>

В настоящее время я обертываю этот список в классе и использую XmlSerializer, чтобы решить эту проблему, но я нахожу это довольно тяжелым ...

Итак, есть ли более простое решение с использованиемLinq to Xml?

Ответы [ 2 ]

1 голос
/ 06 октября 2010
XElement xml = new XElement("Users",
                    (from str in aList select new XElement("User", str)).ToArray());

Это может сделать это.Не уверен, что .ToArray необходим.

0 голосов
/ 06 октября 2010
        List<User> list = new List<User>();
        list.Add(new User { Name = "Domain\\Alice" });
        list.Add(new User { Name = "Domain\\Bob" });
        list.Add(new User { Name = "Domain\\Charly" });

        XElement users = new XElement("Users");
        list.ForEach(user => { users.Add(new XElement("User", user.Name)); });

        Console.WriteLine(users);
...