zoukankan      html  css  js  c++  java
  • Xml序列化和反序列化对象使用MemoryStream实践

    【目的】

    实践MemoryStream来Xml序列化对象

    【代码】

    待序列化类:

    [Serializable()]
    public class XInfo
    {
    private int _ID;
    private string _Content;

    public XInfo()
    {
    _ID
    = 0;
    _Content
    = "Hello";
    }

    public int ID
    {
    get
    {
    return _ID;
    }
    set
    {
    _ID
    = value;
    }
    }

    public string Content
    {
    get
    {
    return _Content;
    }
    set
    {
    _Content
    = value;
    }
    }
    }

    序列化对象和反序列化代码

    System.Text.StringBuilder sb = new System.Text.StringBuilder();
    XInfo myBlock
    = new XInfo();
    XmlSerializer mySerializer
    = new XmlSerializer(typeof(XInfo));
    using (Stream mem = new MemoryStream())
    {
    mySerializer.Serialize(mem, myBlock);
    byte[] b = new byte[mem.Length];
    mem.Position
    = 0;
    mem.Read(b,
    0, b.Length);
    sb.Append(System.Text.UTF8Encoding.UTF8.GetString(b));
    }

    Response.Write(sb.ToString());

    XInfo myObject;
    XmlSerializer myDeSerializer
    = new XmlSerializer(typeof(XInfo));
    Stream DesMem
    = new MemoryStream(System.Text.UTF8Encoding.UTF8.GetBytes(sb.ToString()));
    myObject
    = (XInfo)myDeSerializer.Deserialize(DesMem);

    if (myObject != null)
    {
    myObject.ID
    = 100;
    Response.Write(myObject.ID);
    Response.Write(myObject.Content);
    }
    else
    Response.Write(
    "Null");

    DesMem.Close();

    结论:正确执行,暂无异常


    无论生活、还是技术,一切都不断的学习和更新~~~努力~
  • 相关阅读:
    Android开发:关于WebView
    PHP+JQUEY+AJAX实现分页
    Bootstrap入门(二)栅格
    BootStrap入门教程 (一)
    mac 终端命令
    没有功能需求设计文档?对不起,拒绝开发!
    React 入门教程
    Webpack+React+ES6开发模式入门指南
    webpack2.0+ vue2.0
    一个小时学会jQuery
  • 原文地址:https://www.cnblogs.com/GoGoagg/p/2104076.html
Copyright © 2011-2022 走看看