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

3

这是一个反向问题,与如何将XML转换为List或String[]?相似。

我有一个用户的List<string>,想要将它们转换成以下的XML格式:

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

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

那么,是否有一种更直接的使用Linq to Xml的解决方案?

2个回答

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

可能这样做就可以了。不确定.ToArray是否必要。


正是我所需要的 :) 非常感谢。它可以在没有 .ToArray() 的情况下很好地工作。 - hoang

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

谢谢!它可以工作,但你仍然将数据封装到一个新类中,而我正试图避免这种情况。 - hoang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接