Como desserializar em um List usando o XmlSerializer
-
05-07-2019 - |
Pergunta
Eu estou tentando desserializar o XML abaixo em classe, com o Components
desserializado em um List<string>
, mas não consigo descobrir como fazê-lo. O desserializador está funcionando bem para todas as outras propriedades, mas não Components
. Alguém sabe como fazer isso?
<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>
Solução
Adicionar um estabelecimento como este para manter a lista de componentes:
[XmlArray()]
public List<Component> Components { get; set; }
Edit: Desculpe, eu descaracterizou isso. Você querer lê-lo em uma coleção de strings. Eu apenas tentei isso abaixo e funcionou em sua amostra. A chave é apenas para configurar os atributos de serialização XML correto.
public class ArsAction
{
[XmlArray]
[XmlArrayItem(ElementName="Component")]
public List<string> Components { get; set; }
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow