XmlSerializer Deserialisieren Array/Liste Mehrerer Objekte in Root

Ich versuche zu Deserialisieren Sie die folgende XML-Ausgabe:

<?xml version="1.0" encoding="ISO-8859-1"?>
<Foo>
   <Val>Data1</Val>
</Foo>
<Foo>
   <Val>Data2</Val>
</Foo>

(Dies ist die Ausgabe von einem hardware-Gerät und kann nicht geändert werden)

Ich habe eine XML-Datentyp definiert als:

    [XmlType(AnonymousType=true, Namespace="")]
    public class Foo
    {
        public string Val { get; set; }
    }

Ich habe versucht, deserialisiert das array durch die Schaffung einer serializer wie:

  var s = new XmlSerializer(typeof(Foo[]));
  //or
  var s = new XmlSerializer(typeof(List<Foo>);

Aber jeder Aufruf en.Deserialisieren() bewirkt eine InvalidOperaitonException:

 System.InvalidOperationException: <Foo xmlns=''> was not expected.

Hinweis

 var s = new XmlSerializer(typeof(Foo));
 //Only deseralizes the first Foo (Data1).

Vielen Dank für Ihre Hilfe.

  • Die XML, die Sie versuchen zu generieren ist nicht gültig...
InformationsquelleAutor Brian Chavez | 2009-12-22
Schreibe einen Kommentar