gpt4 book ai didi

c# - 如何使用 XmlSerializer 将简单集合反序列化为 List 的实例

转载 作者:行者123 更新时间:2023-11-30 14:41:07 24 4
gpt4 key购买 nike

我找不到与我的具体问题相关的问题。

我想做的是获取一个 Xml 节点列表,并直接将它们反序列化为一个列表,而无需创建具有属性的类。

所以 xml (myconfig.xml) 看起来像这样......

<collection>  
<item>item1</item>
<item>item2</item>
<item>item3</item>
<item>etc...</item>
</collection>

最后我想要一个项目列表作为字符串。

代码看起来像这样。

XmlSerializer serializer = new XmlSerializer( typeof( List<string> ) );
using (XmlReader reader = XmlReader.Create( "myconfig.xml" )
{
List<string> itemCollection = (List<string>)serializer.Deserialize( reader );
}

我不是 100% 确信这是可能的,但我猜它应该是。任何帮助将不胜感激。

最佳答案

您是否接受了使用序列化程序的想法?如果没有,您可以尝试 Linq-to-XML。 (.NET 3.5、C# 3 [及更高版本])

根据您提供的 XML 文件格式,这是简单的代码。

// add 'using System.Xml.Linq' to your code file
string file = @"C:\Temp\myconfig.xml";
XDocument document = XDocument.Load(file);
List<string> list = (from item in document.Root.Elements("item")
select item.Value)
.ToList();

关于c# - 如何使用 XmlSerializer 将简单集合反序列化为 List<string> 的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4554766/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com