反序列化xml属性
本文关键字:属性 xml 反序列化 | 更新日期: 2023-09-27 18:15:30
我使用XmlSerializer将xml文档反序列化为一些类对象。是否有一种方法可以将节点的属性反序列化到键/值字典中,而不必为每个属性命名属性?例子:
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
),而不是直接进入你的类。 - 调用映射函数,传递临时变量
temp
。这个函数创建一个Panel
类的新实例,然后循环temp
属性并将它们映射到这个实例,最后它返回新实例。
- 使用