Как десериализовать в List <String> с помощью XmlSerializer
Я пытаюсь десериализовать XML ниже в класс, а Components
десериализован в List<string>
, но не может понять, как это сделать. Deserializer работает отлично для всех других свойств, но не Components
. Кто-нибудь знает, как это сделать?
<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>
Ответы
Ответ 1
Добавьте свойство, подобное этому, чтобы сохранить список компонентов:
[XmlArray()]
public List<Component> Components { get; set; }
Изменить: Извините, я неправильно понял это. Вы хотите прочитать его в сборнике строк. Я просто попробовал это ниже, и он работал над вашим образцом. Ключом является только настройка правильных атрибутов сериализации xml.
public class ArsAction
{
[XmlArray]
[XmlArrayItem(ElementName="Component")]
public List<string> Components { get; set; }
}