c#向集合添加元素

本文关键字:元素 添加 集合 | 更新日期: 2023-09-27 18:01:27

我试图添加一个XmlElement到XmlElement[],但这似乎是不可能的。

errormessage:

不能隐式转换System.Xml类型。XmlElement"System.Xml.XmlElement [] '

XmlElement[]对象没有添加或插入函数

我该怎么做呢?

更新代码:

这部分是从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;
    }

c#向集合添加元素

我会使用List。

List<XmlElement> elements = new List<XmlElement>();
elements.Add(xamlElement);

在数组的所有条目中使用默认元素预大小数组。您不能通过插入/添加来重新调整数组的大小(如果您确实想这样做,请使用List<T>代替)。否则,只需在特定索引处设置项的值:

array[index] = value

是的,它确实是动态地将XmlElement添加到XmlElement[]的副本抱歉!

作为我的代码在这种情况下的解决方案:

var uShipmentCollection = new UniversalShipmentData[]
{
    shipmentData
};

谢谢你的参考资料!