2013-05-30 35 views
2

我在嘗試使用原始類型和複雜對象將對象序列化爲使用XMLArrays作爲對象的XML格式。我有這個困難,因爲我需要在一個特定的順序命令每個XML元素,但我發現了以下錯誤消息:使用帶XMLArrayItem的XMLElement(Order)Attribute屬性

"XmlElement, XmlText, and XmlAnyElement cannot be used in conjunction with XmlAttribute, XmlAnyAttribute, XmlArray, or XmlArrayItem." 

這裏是我的代碼:

public class XMLClaimFieldInfo 
{ 
    [XmlIgnore] 
    public int SectionID { get; set; } 
    [XmlElement(Order = 1)] 
    public string Name { get; set; } 
    [XmlElement(Order = 2)] 
    public string ClaimDataType { get; set; } 
    [XmlElement(Order = 3)] 
    public int UIGridRowLoc { get; set; } 
    [XmlElement(Order = 4)] 
    public int UIGridColLoc { get; set; } 
    [XmlElement(Order = 5)] 
    public int TabOrder { get; set; } 
    [XmlElement(Order = 6)] 
    public string DefaultValue { get; set; } 
    [XmlElement(Order = 7)] 
    public int? UIGridRowSpan { get; set; } 
    [XmlElement(Order = 8)] 
    public int? UIGridColSpan { get; set; } 
    [XmlElement(Order = 9)] 
    public string Format { get; set; } 
    [XmlElement(Order = 10)] 
    public bool IsHidden { get; set; } 
    [XmlElement(Order = 11)] 
    [XmlArrayItem("XMLClaimFieldSelectOption")] 
    public List<XMLClaimFieldSelectOption> ClaimFieldSelectOptions; 
    [XmlElement(Order = 12)] 
    [XmlArrayItem("XMLFieldValidation")] 
    public List<XMLFieldValidation> FieldValidations { get; set; } 
    [XmlElement(Order = 13)] 
    [XmlArrayItem("XMLClaimFieldObjectMap")] 
    public List<XMLClaimFieldObjectMap> ClaimFieldObjectMaps = new List<XMLClaimFieldObjectMap>(); 

我猜測這是因爲我使用XMLElement屬性與XMLArrayItem屬性?有沒有辦法解決?

回答

3

嘗試代替[XmlElement(Order = 13)]使用[XmlArray(Order=13)]

+2

你可以添加更多的解釋,爲什麼這會工作? –

+0

XmlArray可以和XmlArrayItem一起使用。 XmlArray還具有OP代碼所需的Order屬性。 – descention

相關問題