我可以在类的属性上有多个XmlElement吗? 例如:
[XmlElement("name")]
[XmlElement("clientName")]
public string Name { .. }
我需要这个用于反序列化。假设XML文件中的Name元素将命名为“name”或“clientName”。我想实现某种灵活性(列出对应于Name属性的xml元素的可能名称。
主要思想是我必须从另一个程序导入XML文件,我必须制作某种“导入模板”。
答案 0 :(得分:4)
答案实际上是肯定的,但仅限于某些条件下。如果您想为不同类型使用不同的元素名称,则可以执行此操作。至于没有指定类型,documentation什么也没说。
[XmlElement(typeof(int),
ElementName = "ObjectNumber"),
XmlElement(typeof(string),
ElementName = "ObjectString")]
public ArrayList ExtraInfo;
答案 1 :(得分:4)
猜测您需要使用两个不同的元素名称导入具有相同值的XML,您可以这样做:
string _Name;
[XmlElement("name")]
public string Name {
get {
return _Name;
}
set {
_Name = value;
}
}
[XmlElement("clientName")]
public string ClientName {
get {
return _Name;
}
set {
_Name = value;
}
}