【问题标题】:Deserializing xml attributes反序列化 xml 属性
【发布时间】:2015-10-01 21:55:39
【问题描述】:

我正在使用 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; }

}

【问题讨论】:

标签: c# xml xml-deserialization


【解决方案1】:

你有两个选择:

  1. 实现您自己的序列化程序。

  2. 实现一个映射函数:

    • 使用XmlSerializer 反序列化为临时变量(例如var temp),而不是直接进入您的类。
    • 调用映射函数,将临时变量temp 传递给它。此函数创建 Panel 类的新实例,然后循环遍历 temp 属性并将它们映射到此实例,最后返回新实例。

【讨论】:

    猜你喜欢
    • 2015-10-24
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多