父节点内列表的序列化(集合扁平化)

Sup*_*JMN 5 .net c# xml collections serialization

我必须生成这样的 XML 结构(使用 .NET 序列化):

<Person>
   <Name>John</John>
   <Address>Address1</Address>
   <Address>Address2</Address>
   <Address>Address3</Address>
</Person>
Run Code Online (Sandbox Code Playgroud)

目前,我有一个class Person名为 a 的List<string> Addresses内部。

我认为XmlSerializer默认情况下会创建一个<Addresses>节点,将每个地址作为子元素,所以我会得到:

<Person>
   <Name>John</John>
   <Addresses>           
      <Address>Address1</Address>
      <Address>Address2</Address>
      <Address>Address3</Address>
   </Addresses>
</Person>
Run Code Online (Sandbox Code Playgroud)

不是我需要的。

我的问题是,是否可以将里面的所有地址扁平化<Person>

jdw*_*eng 4

使用 XmlElement 而不是 XmlArray,如下面的代码。XmlArray 添加了额外的标签层。

    [XmlRoot("Person")]
    public class Person
    {
        [XmlElement("Name")]
        public string name {get; set;}
        [XmlElement("Address")]
        public string[] address {get; set;}
    }
Run Code Online (Sandbox Code Playgroud)