【发布时间】:2012-03-14 18:30:20
【问题描述】:
我正在尝试将一些 xml 反序列化为 IList,但我遇到了问题。这是我到目前为止所做的:
XML:
<?xml version="1.0" encoding="utf-8"?>
<Animals>
<Animal>
<Name>Cow</Name>
<Color>Brown</Color>
</Animal>
</Animals>
模型:
[XmlRoot("Animals")]
public class Model
{
[XmlElement("Animal")]
public IList<Animal> AnimalList { get; set; }
}
public class Animal
{
[XmlElement("Name")]
public string Name{ get; set; }
[XmlElement("Color")]
public string Color{ get; set; }
}
反序列化:
FileStream fs = new FileStream("file.xml", FileMode.Open);
XmlReader xml = XmlReader.Create(fs);
XmlSerializer ser = new XmlSerializer(typeof(List<Model>));
var list = (List<Model>)ser.Deserialize(xml);
运行上述代码时出现无效操作异常。我做错了什么?
谢谢, 詹姆斯·福特
【问题讨论】:
-
你不应该将你的类命名为
Object,这是每个类的基类。 -
@OskarKjellin 我知道,在我的项目 ofc 中没有这样命名。当我创建这个问题时,我并没有想清楚。
-
@KirillPolishchuk 它的格式错误是什么?
标签: c# xml deserialization ilist