Cómo deserializar en una lista < String > usando el XmlSerializer
-
05-07-2019 - |
Pregunta
Estoy tratando de deserializar el XML a continuación en clase, con Components
deserializado en una List < string >
, pero no puedo averiguar cómo hacerlo . El deserializador funciona bien para todas las demás propiedades, pero no para Components
. ¿Alguien sabe cómo hacer esto?
<ArsAction>
<CustomerName>Joe Smith</CustomerName>
<LoginID>jdsmith</LoginID>
<TicketGroup>DMS</TicketGroup>
<Software>Visio 2007 Pro</Software>
<Components>
<Component>Component 1</Component>
<Component>Component 2</Component>
</Components>
<Bldg>887</Bldg>
<Room>1320p</Room>
</ArsAction>
Solución
Agregue una propiedad como esta para contener la lista de Componentes:
[XmlArray()]
public List<Component> Components { get; set; }
Editar: Lo siento, lo he leído mal. Quieres leerlo en una colección de cadenas. Acabo de probar esto a continuación y funcionó en su muestra. La clave es configurar los atributos de serialización xml correctos.
public class ArsAction
{
[XmlArray]
[XmlArrayItem(ElementName="Component")]
public List<string> Components { get; set; }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow