次の 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).
ご協力いただきありがとうございます。