我一直在玩xml序列化一段时间,我遇到了序列化列表集的问题。我想序列化一个列表集合,而不包含上面的元素。见下面的例子:
结果序列化:
<?xml version="1.0" encoding="utf-8" ?>
<Person>
<Name>John</Name>
<AddressLine>
<string>Line 1</string>
<string>Line 2</string>
<string>Line 3</string>
</AddressLine>
<Telephone>123456789</Telephone>
</Person>
我要输出的序列化是:
<?xml version="1.0" encoding="utf-8" ?>
<Person>
<Name>John</Name>
<AddressLine>Line 1</AddressLine>
<AddressLine>Line 2</AddressLine>
<AddressLine>Line 3</AddressLine>
<Telephone>123456789</Telephone>
</Person>
我已经尝试将不同的属性设置为我的类,我正在进行序列化,但我似乎无法随意使用它。如果有人能告诉我需要使用哪些属性来使我的xml序列化看起来像我想要的输出xml那将非常感激。
干杯!
答案 0 :(得分:4)
[Serializable]
public class Person
{
public string Name { get; set; }
[XmlElement]
public List<string> AddressLine { get; set; }
}
产生所需的输出:
<?xml version="1.0"?>
<Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Name>John</Name>
<AddressLine>1</AddressLine>
<AddressLine>2</AddressLine>
<AddressLine>3</AddressLine>
</Person>