通过C#_对象列表

我有一个“ WsReferenceValue”类,其中包含其他类“ Characteristic”的列表,而“ Classicistic”类具有另一个类“ Definition”的属性,这是我的代码:

  public class WsReferenceValue
  {
     [DataContract]
     public class WsReferenceValue : WsEntitiesDimension
     {
        public List<Characteristic> listCharacteristic { get; set; }       
     }
     [DataContract]
     public class Characteristic
     {      
          [DataMember]      
           public Definition definition { get; set; } 
     }
     [Serializable]   
     public class Definition
     {
          [XmlAttribute]
           public int id;
           [XmlAttribute]
           public string name;
      }
 }

我的代码:

 WsReferenceValue referenceV = new WsReferenceValue();
 List<Characteristic> ListFinalDynamic = new List<Characteristic>();
 foreach (var finalCharac in listeCharactresticFinal)
 {
                var lstChars = new Characteristic()
                        {
                            Definition = new Definition()
                            {
                                id = Dimension.ID,name = Dimension.Name
                            }
                        };                          
             ListFinalDynamic.Add(lstChars);                    
            referenceV.listCharacteristic = ListFinalDynamic;    
}   

我得到这个结果:

 <WsReferenceValue>                     
    <listCharacteristic>
                <Characteristic>
                    <Definition>
                        <id>1</id>
                        <name>COMPANY</name>
                    </Definition>
                </Characteristic>

                <Characteristic>
                    <Definition>
                        <id>71</id>
                        <name>COUNTRY</name>
                    </Definition>
                </Characteristic>

                <Characteristic>
                    <Definition>
                        <id>45</id>
                        <name>CURRENCY</name>
                    </Definition>
                </Characteristic>
  </listCharacteristic>

我的目标是使用以下格式获取一个参考的所有特征列表:(每个具有属性的特征)

 <WsReferenceValue>                     
    <listCharacteristic>
                <Characteristic>
                    <Definition id=1 name="COMPANY" />                        
                </Characteristic>

                <Characteristic>
                    <Definition id=71 name="COUNTRY" />
                </Characteristic>

                <Characteristic>
                    <Definition id=45 name="CURRENCY" />                      
                </Characteristic>
  </listCharacteristic>

我该如何解决?谢谢

super__1987cl 回答:通过C#_对象列表

实际上可以解决我的问题:我修改了概念:首先,我不使用XMLSerializer,仅使用DataContractSerializer,因此删除了定义类,然后将列表xelement添加到一个xelement中,得到了结果,

我的WsReferenceValue类:

  [DataContract]
 public class WsReferenceValue : WsEntitiesDimension
 { 
    [DataMember]
    public XElement listCharacteristic {get ; set;}
}

实现:

WsReferenceValue referenceV = new WsReferenceValue();
foreach (var finalCharac in listeCharactresticFinal)
{    
  var XelementTemp = new XElement("ReferenceValue",new XAttribute("Name",refVal.Name),new XAttribute("Id",refVal.ID)); 

      referenceV.listCharacteristic.Add(XelementTemp);                  
 }   

我得到的结果正是我想要的:

<listCharacteristic>
        <ReferenceValues xmlns="">
            <ReferenceValue Name="CC" Id="1"  />
            <ReferenceValue Name="S9999" Id="4" "0"/>
            <ReferenceValue Name="EE45" Id="5" />  
        </ReferenceValues>
</listCharacteristic>   
本文链接:https://www.f2er.com/3109572.html

大家都在问