zoukankan      html  css  js  c++  java
  • XML序列号和反序列化:将类转换为xml文件/将文件转换为xml类

    /*--===------------------------------------------===---
    XML序列号和反序列化:将类转换为xml文件/将文件转换为xml类
                许明会    2007年12月13日 21:59:19
    --===------------------------------------------===---
    */
    using System;
    using System.IO;
    using System.Xml;
    using System.Xml.Serialization;
    using System.Data;

    namespace xumh
    {
        
    public class Dog
        {
            
    public void Attach()
            {
                Console.WriteLine(
    "Dog Attach .");
            }
        };

        
    public class runMyApp
        {
            
    static void Main()
            {
                XmlSerializer ser 
    = new XmlSerializer(typeof(DataSet));
                
    //创建DataSet,DataTable,DataRow
                DataSet ds = new DataSet("myDataSet");
                DataTable dt 
    = new DataTable("Table1");
                dt.Columns.Add(
    "things",typeof(string));
                ds.Tables.Add(dt);
                
    for(int i=0; i<10; i++)
                {
                    DataRow dr 
    = dt.NewRow();
                    dr[
    0= "Things " + i;
                    dt.Rows.Add(dr);
                }
                
    //序列化
                StreamWriter writer = new StreamWriter(@".\dsSerialize.xml");
                ser.Serialize(writer,ds);
                writer.Close();
                
    //反序列化,将文件转换为类,然后便利数据
                StreamReader reader = new StreamReader(@".\dsSerialize.xml");
                DataSet dataSet 
    = (DataSet) ser.Deserialize(reader.BaseStream);
                
    foreach(DataRow dr in dataSet.Tables[0].Rows)
                    
    for(int i=0; i< dataSet.Tables[0].Columns.Count; i++)
                        Console.WriteLine(
    "{0}", dr[0]);
                
    //--===------------------------------------------===---
                 //1、要序列化的类型是什么,存到哪里? 是Dog类型
                XmlSerializer se = new XmlSerializer(typeof(Dog));
                StreamWriter sw = new StreamWriter(@".\DogClass.xml");
                //2、序列化,将Dog类的对象dog转换为Xml文件
                Dog dog = new Dog();
                se.Serialize(sw,dog);
                sw.Close();
                
    //---------反序列化,将xml文件转换为Dog类的实例------------
                StreamReader sr = new StreamReader(@".\DogClass.xml");
                Dog d 
    = (Dog) se.Deserialize(sr.BaseStream);
                d.Attach();
            }
        };
    }
  • 相关阅读:
    js 生成随机数
    解决微信浏览器无法使用reload()刷新页面
    js 去除左右空格
    小程序开发入门-第一天
    我的第一个JSP——动态web
    2019-3-6 复制粘贴
    2019-2-19 异常练习
    2019-1-19 object祖宗类的equals重写
    2019-1-15 课堂笔记
    2019-1-15 课后作业
  • 原文地址:https://www.cnblogs.com/flaaash/p/994233.html
Copyright © 2011-2022 走看看