XML de .NET Deserialización
-
28-09-2019 - |
Pregunta
Tengo el siguiente XElement
<Issue Type="Duplicate" Distance="1">
<Record>
<ID>6832</ID>
<Name_First>JAMES </Name_First>
<Name_Last>SMITH</Name_Last>
<Company>SMITH CO.</Company>
</Record>
<Record>
<ID>6831</ID>
<Name_First>JAMES</Name_First>
<Name_Last>SMITH</Name_Last>
<Company>SMITH CO.</Company>
</Record>
</Issue>
Estoy tratando de deserializar en este objeto
public class Issue
{
[XmlAttribute]
public string Type { get; set; }
[XmlArrayItem(typeof(XElement), ElementName = "Record")]
public List<XElement> Record { get; set; }
}
El tipo funciona sin problema, pero no puede obtener los dos nodos de registro en la lista de registro del objeto.
¿Es posible sin anulando ISerializable y escribir código personalizado?
Solución
Prueba esto:
public class Issue
{
[XmlAttribute]
public string Type { get; set; }
[XmlAnyElement("Record")]
public List<XElement> Record { get; set; }
}
creo que le dice al serializador que varios elementos de registro se irán en la lista.
Otros consejos
Implementar la clase de registro que tiene ID, Name_First, Name_Last y los campos de la compañía
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow