tengo una clase Foo
(suponiendo adecuados using
directivas)¿Forma más sencilla de deserializar una matriz/secuencia de objetos de XML con C#?
namespace Example
{
[XmlRoot("foo")]
class Foo
{
public Foo() {}
[XmlElement("name")]
public string Name;
}
}
Y un XmlSerializer puede tratar con XML como este para producir un objeto de tipo Foo
<foo>
<name>BOSS</name>
</foo>
¿Cuál es la cantidad mínima de trabajo Puedo hacer que XmlSerializer maneje XML de este formulario,
<foos>
<foo>
<name>BOSS</name>
</foo>
<foo>
<name>NOT A BOSS</name>
</foo>
</foos>
y produce una matriz de objetos Foo
?
EDIT:
¿Cómo lo estoy haciendo para un solo Foo
:
var xr = new XmlTextReader("foo.xml");
var xs = new XmlSerializer(typeof(Foo));
var a = (Foo) xs.Deserialize(xr);
ejemplo Potencial de Foo[]
var xr = new XmlTextReader("foos.xml");
var xs = new XmlSerializer(typeof(Foo[]));
var a = (Foo[]) xs.Deserialize(xr);
¿Ya ha escrito algún código que utilice el XmlSerializer? – RQDQ
@RQDQ Agregué algunos ejemplos de cómo lo estoy haciendo para un solo artículo, y cómo creo que podría suceder con una matriz de ellos. –