如何使用XmlSerializer反序列化为List <String>

Rus*_*ark 18 c# xml-serialization

我正在尝试将下面的XML反序列化为类,将Components反序列化为a List<string>,但无法弄清楚如何执行此操作.解串器适用于所有其他属性,但不适用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>
Run Code Online (Sandbox Code Playgroud)

Bri*_*ink 43

添加这样的属性来保存组件列表:

[XmlArray()]
public List<Component> Components { get; set; }
Run Code Online (Sandbox Code Playgroud)

编辑:对不起,我误解了.您想将其读入字符串集合.我刚试过这个,它对您的样本起作用了.关键是设置正确的xml序列化属性.

public class ArsAction
{
    [XmlArray]
    [XmlArrayItem(ElementName="Component")]
    public List<string> Components { get; set; }
}
Run Code Online (Sandbox Code Playgroud)