重命名序列化对象列表的Xml标记名称

时间:2016-03-18 09:52:23

标签: c#

我有以下课程

public class MyClass
{
    [XmlElement("PersonList")]
    public List<Data> DataList { get; set; }
}

// Rename this to 'Person'
public class Data
{
    public string Name { get; set; }
}

我希望使用Xml seriPersonalize Serializer'MyClass',我想要关注输出xml

<?xml version="1.0" encoding="utf-8"?>
<MyData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<PersonList>
    <Person>
        <Name>abc</Name>
    </Person>
    <Person>
        <Name>pqr</Name>
    </Person>
    <Person>
        <Name>xyz</Name>
    </Person>
</PersonList>
</MyData>

请使用XmlElementXmlRoot帮助获取此xml结构以重命名标记

2 个答案:

答案 0 :(得分:0)

a = MAX AND b = MAX OR
a = NULL AND b = MAX OR
a = MAX AND b = NULL OR
a = NULL AND b = NULL

https://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlrootattribute(v=vs.110).aspx

答案 1 :(得分:0)

我们可以使用

实现这一目标
  

XmlArray

  

XmlArrayItem

public class MyClass
{
    [XmlArray("PersonList")]
    [XmlArrayItem("Person")]
    public List<Data> DataList { get; set; }
}

public class Data
{
    public string Name { get; set; }
}