如何使用Linq?</string>将List <string>转换为XML

时间:2010-10-06 11:48:48

标签: c#-3.0 linq-to-xml

How can I transform XML into a List or String[]?的反问题。

我有List<string>个用户,想要将它们转换为以下xml:

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

我目前正在将这个列表包装在一个类中并使用XmlSerializer来解决这个问题,但我觉得这很重...

使用Linq到Xml有更直接的解决方案吗?

2 个答案:

答案 0 :(得分:1)

XElement xml = new XElement("Users",
                    (from str in aList select new XElement("User", str)).ToArray());

这可能会这样做。不确定.ToArray是否必要。

答案 1 :(得分:0)

        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);