您的位置:首页 > 其它

Xml序列化和反序列化

2020-01-15 09:26 85 查看

今天做了2个例子,关于Xml序列化和反序列化.

操作的对象UserInfo,自定义的一个对象.

UserInfo:

[OptionalField] : 标识可以缺少某一字段.

[XmlElement] : 标识Xml节点

[XmlAttribute] : 标识Xml节点的属性

[XmlIgnore]    : 序列化或反序列化不关联的字段.

 

Code
 

    [XmlRoot]
    public class UserInfo
    {
        [OptionalField]
        List<User> _List = null;

        public List<User> UserList
        {
            get { return _List; }
            set { _List = value; }
        }

    }


    [Serializable]
    public class User
    {
        string id = String.Empty;

        [XmlElement()]
        public string Id
        {
            get { return id; }
            set { id = value; }
        }
        string parentId = String.Empty;
        [XmlElement()]
        public string ParentId
        {
            get { return parentId; }
            set { parentId = value; }
        }
        string code = String.Empty;
        [XmlElement()]
        public string Code
        {
            get { return code; }
            set { code = value; }
        }

    }

 

序列化代码:this.List是一个我做的一个数据集合,存放的是User.

 

Code
            using (TextWriter tr = new StreamWriter("XMLFile1.xml"))
            {
                UserInfo userinfo = new UserInfo();
                userinfo.UserList = this.List as List<User>;
                XmlSerializer xmlSerializer = new XmlSerializer(typeof(UserInfo));
                xmlSerializer.Serialize(tr, userinfo);               
                tr.Close();
            }

 

反序列化代码:

 

Code
            using (TextReader tr = new StreamReader("XMLFile1.xml"))
            {
                UserInfo userinfo = new UserInfo();                
                XmlSerializer xmlSerializer = new XmlSerializer(typeof(UserInfo));
                userinfo = xmlSerializer.Deserialize(tr) as UserInfo;
                List = userinfo.UserList;
            }

转载于:https://www.cnblogs.com/chinaicm/archive/2008/08/26/1276463.html

  • 点赞
  • 收藏
  • 分享
  • 文章举报
dingqiao8604 发布了0 篇原创文章 · 获赞 0 · 访问量 70 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: