2011-03-21 48 views
0

我試圖使用XMLSerializer的,並具有以下代碼:C#xmlarray和xmlarrayitem

[XmlArray("ToggleExclusion")] 
    [XmlArrayItem("Result")] 
    public string[] toCopy { get; set; } 

我連載這樣:

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

     StringWriter w = new StringWriter(); 
     x.Serialize(w, toCopy); 

然而,在打印XML時,元素是:typeofstring和string。

我在這裏錯過了什麼以確保元素符合我的要求。

回答

0

您需要將XmlRoot用於根項目。它忽略了根的XmlArray或XmlElement標記。

您也可以在XmlSerializer構造函數中指定根名稱。

+0

謝謝 - 對根工作正常,但是xmlarrayitem標記仍不能按預期工作? – 2011-03-21 10:53:48

+0

如果它位於根目錄下,則可能不會使用XmlArrayItem(因爲它不會被序列化爲數組下的項目)。試試XmlElement。 – 2011-03-21 10:55:04