Xml属性和集合

时间:2010-10-30 14:27:11

标签: c# xml-serialization

我有一个xml文件,如下所示:

<root>
   <groups>
      <group />
      <group />
   </groups>
</root>

现在,我想创建一个这样的类:

[XmlRoot]
public class Root
{
   [XmlElement("groups")]
   public Groups Groups { get; set; }
}

问题是XmlElement属性会使所有名为“groups”的集合项目出现,我最终会得到类似的东西:

<root>
   <groups />
   <groups />
</root>

如果我关闭XmlElement属性,它实际上会打印带有correcy节点的文件,但节点的名称已被限制:

<root>
   <Groups>
      <group />
      <group />
   </Groups>
</root>

这很烦人。我如何告诉它为xml文件创建小写(或任何名称)的名称,但是在源代码中将其作为Pascal大小写,同时指定子元素的名称应该是什么? / p>

由于

1 个答案:

答案 0 :(得分:3)

如果我理解正确,要阅读此XML文件,您需要使用XmlArrayAttributeXmlArrayItemAttribute

[XmlRoot]
public class Root
{
    [XmlArray("groups")]
    [XmlArrayItem("group")]
    public List<Group> Groups { get; set; }
}

[XmlType]
public class Group
{
}