列表集合XML序列化

本文关键字:序列化 XML 集合 列表 | 更新日期: 2023-09-27 18:01:52

我一直在玩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,那将是非常感激的。

干杯!

列表集合XML序列化

[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>
相关文章: