gpt4 book ai didi

c# - 使用 C# 从 XML 反序列化对象数组/序列的最简单方法?

转载 作者:数据小太阳 更新时间:2023-10-29 01:56:49 26 4
gpt4 key购买 nike

我有一个类 Foo(假设正确的 using 指令)

namespace Example
{
[XmlRoot("foo")]
class Foo
{
public Foo() {}

[XmlElement("name")]
public string Name;
}
}

XmlSerializer 可以像这样处理 XML 以生成 Foo 类型的对象

<foo>
<name>BOSS</name>
</foo>

要使 XmlSerializer 处理这种形式的 XML,我可以做的最少工作量是多少,

<foos>
<foo>
<name>BOSS</name>
</foo>
<foo>
<name>NOT A BOSS</name>
</foo>
</foos>

并生成一个 Foo 对象数组?

编辑:

我是如何为单个 Foo 做的:

var xr = new XmlTextReader("foo.xml");
var xs = new XmlSerializer(typeof(Foo));
var a = (Foo) xs.Deserialize(xr);

Foo[] 的潜在示例

var xr = new XmlTextReader("foos.xml");
var xs = new XmlSerializer(typeof(Foo[]));
var a = (Foo[]) xs.Deserialize(xr);

最佳答案

据我所知,这是最简单的。添加另一个类 Foos 并从类 Foo 中删除 xmlroot 标记。

namespace Example
{
[XmlRoot("foos")]
class Foos
{
public Foos() {}

[XmlElement("foo")]
public List<Foo> FooList {get; set;}
}
}

关于c# - 使用 C# 从 XML 反序列化对象数组/序列的最简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5239823/

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