在XML序列化中重命名类

时间:2012-06-13 00:36:44

标签: c# xml

考虑以下C#代码:

[XmlRoot]
public class A 
{
    [XmlArray]
    public List<B> ArrayOfBItems { get;set; }

}

public class B
{
    [XmlAttribute]
    public String Name { get;set; }
}

当通过XmlSerialzier运行时,将产生以下内容:

<A>
    <B Name="Foo" />
    <B Name="Bar" />
</A>

如果不重命名B类以更改XML输出的名称,我该怎么办?不允许将XmlAttribute添加到类中。

1 个答案:

答案 0 :(得分:1)

[XmlRoot]
public class A 
{
    [XmlElement("NewName")]
    public List<B> ArrayOfBItems { get;set; }

}

如果将xml修饰从XmlArray更改为XmlElement,则应该得到预期的结果。