反序列化 xml 个属性
Deserializing xml attributes
我正在使用 XmlSerializer 将 xml 文档反序列化为一些 class 对象。有没有办法将节点的属性反序列化为 key/values 的字典,而不必为每个属性命名属性?示例:
public class Panel {
public Dictionary<string, string> AllAttributes {get;set;}
[XmlElement("image", typeof(Image))]
[XmlElement("panel", typeof(Panel))]
public object[] Items { get; set; }
}
您有两个选择:
实现你自己的序列化器。
实现一个映射函数:
- 使用
XmlSerializer
反序列化为临时变量(例如 var temp
),而不是直接反序列化到您的 class.
- 调用映射函数并将临时变量传递给它
temp
。此函数创建 Panel
class 的新实例,然后遍历 temp
属性并将它们映射到该实例,最后 returns 新实例。
我正在使用 XmlSerializer 将 xml 文档反序列化为一些 class 对象。有没有办法将节点的属性反序列化为 key/values 的字典,而不必为每个属性命名属性?示例:
public class Panel {
public Dictionary<string, string> AllAttributes {get;set;}
[XmlElement("image", typeof(Image))]
[XmlElement("panel", typeof(Panel))]
public object[] Items { get; set; }
}
您有两个选择:
实现你自己的序列化器。
实现一个映射函数:
- 使用
XmlSerializer
反序列化为临时变量(例如var temp
),而不是直接反序列化到您的 class. - 调用映射函数并将临时变量传递给它
temp
。此函数创建Panel
class 的新实例,然后遍历temp
属性并将它们映射到该实例,最后 returns 新实例。
- 使用