Existen varias formas de llenar un objeto por medio de valores incrustados en XML(deserialización) y esta que planteo a continuación es la forma más comprensible de hacerlo.
Teniendo el siguiente texto de xml:
<padre>
<hijo>
<id>18</id>
<valor>CFE7785</valor>
<entero>1</entero>
</hijo>
<padre>
Primero tenemos que hacer un conjunto de clases las cuales nos ayudaran a guardar los valores:
[XmlRoot("padre")]
public class padre
{
[XmlElement("hijo")]
public List lstHijos{ get; set; }
}
public class hijo
{
[XmlElement("id")]
public int id { get; set; }
[XmlElement("valor")]
public string valor { get; set; }
[XmlElement("entero")]
public int entero { get; set; }
}
Y ahora el proceso para la magia:
string xml= "<padre> <hijo> <id>18</id> <valor>CFE7785</valor> <entero>1</entero> </hijo> <padre>"
XmlSerializer serializer = new XmlSerializer(typeof(padre));
using (TextReader reader = new StringReader(xml))
{
//de esta manera se deserializa
padre result = (padre)serializer.Deserialize(reader);
}
