• xml序列化及反序列化.net对象


    序列化一个类通常添加[XmlRoot("根节点名字")] 找到要序列化的内容

    对要序列化的类添加 [Serializable]属性用于序列化

    对于要序列化的字段添加  [XmlElement("序列化对应的节点名字,即字段的别名")]

    <Headmaster IsAssistant="false">
        private bool _isAssistant;
        [XmlAttribute("IsAssistant")]
        public bool IsAssistant
        {
            get
            {
                return _isAssistant;
            }
    
            set
            {
                _isAssistant = value;
            }
        }
    
    
     <Name>June</Name>
    [XmlText()]
            public string Name
            {
                get
                {
                    return _name;
                }
    
                set
                {
                    _name = value;
                }
            }
    
    
    
     <Classes>
        <Class>
          <Teacher>
            <Name>June</Name>
            <Sex>O</Sex>
            <Age>30</Age>
          </Teacher>
          <Students>
            <Student>
              <Name>Student1</Name>
              <Sex>I</Sex>
              <Age>10</Age>
            </Student>
          </Students>
        </Class>
        <Class>
          <Teacher>
            <Name>Sam</Name>
            <Sex>I</Sex>
            <Age>32</Age>
          </Teacher>
          <Students>
            <Student>
              <Name>Student2</Name>
              <Sex>O</Sex>
              <Age>10</Age>
            </Student>
            <Student>
              <Name>Student3</Name>
              <Sex>I</Sex>
              <Age>10</Age>
            </Student>
            <Student>
              <Name>Student4</Name>
              <Sex>O</Sex>
              <Age>10</Age>
              <Skill>DB</Skill>
              <Skill>C#</Skill>
            </Student>
          </Students>
        </Class>
      </Classes>
    
    private List<Class> _classes = new List<Class>();
        [XmlArray("Classes")]
        [XmlArrayItem("Class")]
        public List<Class> Classes
        {
            get
            {
                return _classes;
            }
        }

    [Serializable]:用于标志这个类是可进行序列化的。注意此属性只能用于类定义上,另外类也可以通过实现System.Runtime.Serialization.ISerializable进行自定义序列化控制。

    [XmlRoot]:用于定义xml根节点的节点名称。

    [XmlElement]:用于定义类属性在序列化中对应节点的名称。

    [XmlIgnore]:标志此属性不参与序列化。

    [XmlArray]:通常与[XmlArrayItem]配合使用,定义数组的父节点名称与子节点名称。

  • 相关阅读:
    总结类初始化时的代码执行顺序
    Calcite数据源适配器对时间字段的操作问题
    如何自定义一个Calcite对Tablesaw查询的适配器
    Redis集群 Redis Cluster
    培养代码逻辑
    在线查看office文件的两种方法
    WPF Prism框架合集(9.Dialog)
    WPF Prism框架合集(8.Navigation)
    WPF Prism框架合集(7.Mvvm)
    springboot @OneToOne 解决JPA双向死循环/返回json数据死循环
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/5460436.html
Copyright © 2020-2023  润新知