C# XML属性更改重复类名称

C# XML属性更改重复类名称,c#,xml,xml-serialization,C#,Xml,Xml Serialization,我有两个XML可序列化类,父-子类,从实体框架导入。总结如下 [表(“OecPreorden”)] [数据合同] 公共部分类OecPreorden { 公共OecPreorden() { OecPreordenProductos=newhashset(); } [DataMember(IsRequired=false,Order=1,Name=“productosomerciales”)] 公共虚拟ICollection OecPreordenProductos{get;set;} } [表(“

我有两个XML可序列化类,父-子类,从实体框架导入。总结如下

[表(“OecPreorden”)]
[数据合同]
公共部分类OecPreorden
{
公共OecPreorden()
{
OecPreordenProductos=newhashset();
}
[DataMember(IsRequired=false,Order=1,Name=“productosomerciales”)]
公共虚拟ICollection OecPreordenProductos{get;set;}
}
[表(“OecPreordenProductos”)]
[数据合同]
公共类OecPreordenProductos
{
公共OecPreordenProductos()
{
}
[XmlIgnore()]
公共int Id{get;set;}
[数据成员]
[必需]
公共长IdPromocion{get;set;}
[数据成员]
[必需]
公共长IDProductoCommercial{get;set;}
[数据成员]
[必需]
公共长NroOrden{get;set;}
public int PreOrden_id{get;set;}
公共虚拟OecPreorden OecPreorden{get;set;}
}
当我看到XML时,它是这样显示的


?
?
?
因为它有零次或多次重复。。。它以正确的方式显示标题


我想更改的是迭代的标题


当我设定

[XmlRoot(“AAA”)]
公共类OecPreordenProductos

[XmlType(TypeName=“AAA”)]
公共类OecPreordenProductos
它不起作用,它仍然显示类名


如何更改重复类的名称?

您是否尝试过在OecPreordenProductos属性上设置
[XmlArrayItem(“AAA”)]

    [Table("OecPreorden")]
        [DataContract]
        public partial class OecPreorden
        {
            public OecPreorden()
            {
                OecPreordenProductos = new HashSet<OecPreordenProductos>();
            }
           [DataMember(IsRequired = false, Order = 1, Name = "ProductosComerciales")]
           [XmlArrayItem("AAA")]
            public virtual ICollection<OecPreordenProductos> OecPreordenProductos { get; set; }
      }
[表(“OecPreorden”)]
[数据合同]
公共部分类OecPreorden
{
公共OecPreorden()
{
OecPreordenProductos=newhashset();
}
[DataMember(IsRequired=false,Order=1,Name=“productosomerciales”)]
[XmlArrayItem(“AAA”)]
公共虚拟ICollection OecPreordenProductos{get;set;}
}
它应该是:

[DataMember(IsRequired = false, Order = 1, Name = "ProductosComerciales")]
[XmlArray("OecPreordenProductos")]
[XmlArrayItem("AAA)]
public virtual ICollection<OecPreordenProductos> OecPreordenProductos { get; set; }
[DataMember(IsRequired=false,Order=1,Name=“productoscomeriales”)]
[XmlArray(“OecPreordenProductos”)]
[XmlArrayItem(AAA)]
公共虚拟ICollection OecPreordenProductos{get;set;}

我使用[XmlArrayItem(“AAA”)]进行了测试,但它不起作用。感谢您必须在父级中使用属性上方的[XmlElement(“AAA”)]对其进行更改。它不起作用。感谢您得到了什么标签名?请检查XML文件的日期,以确保该日期与运行代码的日期相同。更改应该起作用。