如何在序列化对象时向XmlArray元素(而不是XmlArrayItem)添加属性?

最佳答案

XmlArray用于告诉xmlserializer将属性视为数组,并根据元素名称的参数对其进行序列化。

[XmlArray("FullNames")]
[XmlArrayItem("Name")]
public string[] Names{get;set;}

会给你
<FullNames>
    <Name>Michael Jackson</Name>
    <Name>Paris Hilton</Name>
</FullNames>

为了向FullNames元素添加xml属性,您需要为其声明一个类。
[XmlType("FullNames")]
public class Names
{
   [XmlAttribute("total")]
   public int Total {get;set;}
   [XmlElement("Name")]
   public string[] Names{get;set;}
}

这会给你
<FullNames total="2">
    <Name>Michael Jackson</Name>
    <Name>Paris Hilton</Name>
</FullNames>

关于c# - 如何将属性添加到XmlArray元素(XML序列化)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1052556/

10-10 01:30