我必须生成这样的XML结构(使用.NET序列化):
<Person>
<Name>John</John>
<Address>Address1</Address>
<Address>Address2</Address>
<Address>Address3</Address>
</Person>
目前,我的class Person
名称为List<string> Addresses
。
我认为XmlSerializer
默认会创建一个<Addresses>
节点,该节点将每个地址都保存为子元素,所以我会这样做:
<Person>
<Name>John</John>
<Addresses>
<Address>Address1</Address>
<Address>Address2</Address>
<Address>Address3</Address>
</Addresses>
</Person>
不是我需要的东西。
我的问题是,是否可以展平<Person>
内的所有地址?
答案 0 :(得分:0)
使用XmlElement代替XmlArray,如下面的代码。 XmlArray添加了一层额外的标签。
[XmlRoot("Person")]
public class Person
{
[XmlElement("Name")]
public string name {get; set;}
[XmlElement("Address")]
public string[] address {get; set;}
}