这是XML
<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 :(得分:1)
您可以重命名成员变量,同时保持实际的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文件将保持不变!