zoukankan      html  css  js  c++  java
  • 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]配合使用,定义数组的父节点名称与子节点名称。

  • 相关阅读:
    tf.placeholder函数说明
    网易雷火 游戏研发一面 5.7
    【python3】with的用法
    一分钟理解softmax函数(超简单)
    网易雷火 笔试 4.25
    cun
    HDU-2045-RPG上色(递推)
    HDU-2050-折线分割平面 (递推)
    POJ-2389-Bull Math(高精度乘法)
    HDU-1002-A + B Problem II(高精度加法)
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/5460436.html
Copyright © 2011-2022 走看看