c#xmlarray和xmlarrayitem

c#xmlarray和xmlarrayitem,c#,xml-serialization,C#,Xml Serialization,我正在尝试使用XMLSerializer并获得以下代码: [XmlArray("ToggleExclusion")] [XmlArrayItem("Result")] public string[] toCopy { get; set; } 我将按如下顺序进行序列化: XmlSerializer x = new XmlSerializer(typeof(string[])); StringWriter w = new StringWriter();

我正在尝试使用XMLSerializer并获得以下代码:

[XmlArray("ToggleExclusion")]
    [XmlArrayItem("Result")]
    public string[] toCopy { get; set; }
我将按如下顺序进行序列化:

XmlSerializer x = new XmlSerializer(typeof(string[]));

       StringWriter w = new StringWriter();
       x.Serialize(w, toCopy);
但是,打印xml时,元素是:TypeOfsString和string


我在这里遗漏了什么,以确保这些元素与我上面想要的一样。

您需要使用XmlRoot作为根项。它忽略根的XmlArray或XmlElement标记


您还可以在XmlSerializer构造函数中指定根名称。

谢谢-这对根来说很好,但是xmlarrayitem标记仍然没有按预期工作?如果它位于根,xmlarrayitem可能不会被使用(因为它不会被序列化为数组下的项)。尝试XmlElement。