如何将列表序列化为XML而不带父元素

11
我正在使用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个回答

17

尝试

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接