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?

¿Fue útil?

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
scroll top