2014-05-13 45 views
0

這是XML錯誤:C#成員名稱不能與它們的封閉類型

<TEST ID=1 TITLE="HELLO" TEST=false/> 

這個文件是XmlSerializer的

[Serializable] 
[XxmlRoot(ElementName = "TEST"] 
public class TEST 
{ 
    [XmlAttribute(AttributeName = "ID"] 
    public int ID {get;set;} 
    [XmlAttribute(AttributeName = "TITLE"] 
    public string TITLE {get;set;} 
    [XmlAttribute(AttributeName = "TEST"] 
    public bool TEST {get;set;} 
} 

運行該項目

錯誤消息 「'TEST '會員名稱不能與其封閉類型相同'

我聯合明白它。但我不能重命名這個AttributeName和RootName, XML文件是永不改變,而不是我的文件。我怎樣才能改變這個序列化文件?

回答

0

您可以重命名您的成員變量,同時保持實際的XML標籤相同。您使用的AttributeName啓用了此功能。你可以這樣做:

[Serializable] 
[XmlRoot(ElementName = "TEST"] 
public class TestTag 
{ 
    [XmlAttribute(AttributeName = "ID"] 
    public int IdAttribute { get; set; } 

    [XmlAttribute(AttributeName = "TITLE"] 
    public string TitleAttribute { get; set; } 

    [XmlAttribute(AttributeName = "TEST"] 
    public bool TestAttribute { get; set; } 
} 

或類似的東西。你的XML文件將保持不變!

+0

非常感謝你! – user3444535

相關問題