从XML文件反序列化int数组

Ste*_*fan 5 c# xml serialization xml-serialization deserialization

我正在编写ac #project,我正在尝试反序列化具有int []类型字段的对象,并且我想以另一种方式进行反序列化.

说我有一节课:

class Player
{
   public string Name;
   public int[] Spells;
}
Run Code Online (Sandbox Code Playgroud)

和一个xml文件,我从中反序列化类Player的实例:

<Player>
  <Name>John</Name>
  <Spells>
    <int>1</int>
    <int>5</int>
    <int>9</int>
  </Spells>
</Player>
Run Code Online (Sandbox Code Playgroud)

问题是我不希望xml文件看起来像那样,我希望它更像这样:

<Player>
  <Name>John</Name>
  <Spells>1 5 9</Spells>
</Player>
Run Code Online (Sandbox Code Playgroud)

我正在使用XmlSerializer,它只在第一个xml读取表单时才反序化字段Spells.我想知道它是否像一个简单字段一样反序列化一个int数组.

Vin*_*ayC 7

其中一种方法是创建另一个属性,该属性将空间分隔集用于序列化目的.例如,

class Player
{
   public string Name;

   [XmlIgnore]
   public int[] Spells;

   [XmlElement("Spells")
   public string SpellsString
   {
     get
     {
        // array to space delimited string
     }
     set
     {
       // string to array conversion
     }
   }
}
Run Code Online (Sandbox Code Playgroud)