我正在尝试反序列化以下 XML 输出:
<?xml version="1.0" encoding="ISO-8859-1"?>
<Foo>
<Val>Data1</Val>
</Foo>
<Foo>
<Val>Data2</Val>
</Foo>
(这是从硬件设备输出的,不能更改)
我有一个 XML 类型定义为:
[XmlType(AnonymousType=true, Namespace="")]
public class Foo
{
public string Val { get; set; }
}
我试图通过创建一个像这样的序列化器来反序列化这个数组:
var s = new XmlSerializer(typeof(Foo[]));
//or
var s = new XmlSerializer(typeof(List<Foo>);
但是每次调用 s.Deserialize() 都会导致 InvalidOperaitonException:
System.InvalidOperationException: <Foo xmlns=''> was not expected.
笔记
var s = new XmlSerializer(typeof(Foo));
// Only deseralizes the first Foo (Data1).
谢谢你的帮助。