2015-07-08 4 views
0

Я пытаюсь добавить XmlElement в XmlElement [], но это кажется невозможным.C# Добавление элемента в коллекцию

ErrorMessage:

Не может неявно преобразовать тип 'System.Xml.XmlElement' в 'System.Xml.XmlElement []

XmlElement объект [] не имеет надстройку или Вставить функцию

так как я могу это сделать?

Update с кодом:

Эта часть создается из XSD частного System.Xml.XmlElement [] anyField;

/// <remarks/> 
    [System.Xml.Serialization.XmlAnyElementAttribute()] 
    public System.Xml.XmlElement[] Any 
    { 
     get 
     { 
      return this.anyField; 
     } 
     set 
     { 
      this.anyField = value; 
     } 
    } 

Здесь я пытаюсь создать объект и добавить UniversalShipment в коллекцию Any.

UniversalInterchangeBody body = new UniversalInterchangeBody(); 
    UniversalShipmentData shipmentData = new UniversalShipmentData(); 
    XmlElement universalShipmentXML = SerializeToXmlElement(shipmentData); 
    body.Any = universalShipmentXML; 

    public static XmlElement SerializeToXmlElement(object o) 
    { 
     XmlDocument doc = new XmlDocument(); 

     using (XmlWriter writer = doc.CreateNavigator().AppendChild()) 
     { 
      new XmlSerializer(o.GetType()).Serialize(writer, o); 
     } 
     return doc.DocumentElement; 
    } 
+0

, пожалуйста, поделитесь некоторым кодом, как вы пробовали? – Joseph

+0

Можете ли вы опубликовать код, генерирующий эту ошибку? – Neyoh

+0

вам нужно добавить элементы в индексы массива. –

ответ

0

Да, это действительно копия Add XmlElement to XmlElement [] dynamically извините за это!

, как для решения моего кода в этом случае:

var uShipmentCollection = new UniversalShipmentData[] 
{ 
    shipmentData 
}; 

Спасибо за дубликат справки Gusdor!

0

Массив предварительно задан с элементами по умолчанию во всех элементах массива. Вы не можете изменить размер массива, вставив/добавив (если вы хотите это сделать, используйте вместо этого List<T>). В противном случае просто установите значение записи с определенным индексом:

array[index] = value 
2

Я бы использовал список.

List<XmlElement> elements = new List<XmlElement>(); 
elements.Add(xamlElement); 
Смежные вопросы