如何在没有父元素的情况下将列表序列化为XML

时间:2013-11-20 09:59:59

标签: c# .net xml

我正在使用System.Xml.Serialization.XmlSerializer将我的类序列化为XML文档。 这些是我的课程:

public class Test
{
    public List<ListItem> ListItems { get; set; }
    [XmlAttribute]
    public String Name { get; set; }
    [XmlAttribute]
    public String ID { get; set; }

    public Scenario()
    {
        this.ListItems = new List<ListItem>();
    }
}

public class ListItem
{
    public String Name { get; set; }
}

这是我得到的XML:

<?xml version="1.0"?>
<Test xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ListItems>
    <ListItem>
      <Name>test1</Name>
    </ListItem>
    <ListItem>
      <Name>test2</Name>
    </ListItem>
  </ListItems>
</Test>

是否可以像这样获取XML:

<?xml version="1.0"?>
<Test xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ListItem>
    <Name>test1</Name>
  </ListItem>
  <ListItem>
    <Name>test2</Name>
  </ListItem>
</Test>

请注意,在第二个Xml示例(我需要生成的示例)中,ListItem个节点没有父ListItems个节点。

1 个答案:

答案 0 :(得分:7)

尝试

[XmlElement("ListItem")]
public List<ListItem> ListItems { get; set; }