ASP.NET 对类进行XML序列化和反序列化

1 序列化方法

        public void SerializeObject<T>(string Xmlname,T t)
        {
            XmlSerializer ser = new XmlSerializer(typeof(T));

            TextWriter writer = new StreamWriter(Xmlname);
            ser.Serialize(writer, t);//要序列化的对象
            writer.Close();
        }

2 序列化方法的使用

NodeConfigInfo nc = new NodeConfigInfo();
            nc.FirstNodeSql = this.textBoxSqlFirstNode.Text.Trim();
            nc.FirstArticleSql = this.textBoxViewFirArtlcle.Text.Trim();
            nc.SecondNodeSql = this.textBoxSqlSecondNode.Text.Trim();
            nc.SecondArticleSql = this.textBoxViewSecArtlcle.Text.Trim();
            nc.SecondNodeFilter = this.textBoxSecFilter.Text.Trim();
            nc.SecondArticleFilter = this.textBoxSecFilter.Text.Trim();
            nc.SecondNodeDefaultParentId = this.textBoxParentDefault.Text.Trim();
            nc.ConnectionOther = this.textBoxConnection.Text.Trim();
            nc.NodeId = this.textBoxParentId.Text.Trim();
            nc.SecondReFilter = this.textBoxReFilterSec.Text.Trim();

            string xmlName = System.IO.Directory.GetCurrentDirectory() + "\\" + typeof(NodeConfigInfo).Name + ".Config";
            SerializeObject<NodeConfigInfo>(xmlName, nc);

3 序列化的类

 public class NodeConfigInfo
    {
        public string FirstNodeSql { get; set; }

        public string FirstArticleSql { get; set; }

        public string SecondNodeSql { get; set; }

        public string SecondArticleSql { get; set; }

        public string SecondNodeFilter { get; set; }

        public string SecondArticleFilter { get; set; }

        public string SecondNodeDefaultParentId { get; set; }

        public string ConnectionOther { get; set; }

        public string NodeId { get; set; }

        public string SecondReFilter { get; set; }
    }

4 反序列化方法

        public T DeSerializeObject<T>()
        {
            string xmlName = System.IO.Directory.GetCurrentDirectory() + "\\" + typeof(T).Name + ".Config";
            FileStream file = new FileStream(xmlName, FileMode.Open, FileAccess.Read);
            XmlSerializer xmlSearializer = new XmlSerializer(typeof(T));
            T info = (T)xmlSearializer.Deserialize(file);
            file.Close();
            file.Dispose();
            return info;
        }

5 反序列化方法的使用

 //xml来源可能是外部文件,也可能是从其他系统获得
            NodeConfigInfo info = DeSerializeObject<NodeConfigInfo>();

            this.textBoxSqlFirstNode.Text = info.FirstNodeSql;
            this.textBoxViewFirArtlcle.Text = info.FirstArticleSql;
            this.textBoxSqlSecondNode.Text = info.SecondNodeSql;
            this.textBoxViewSecArtlcle.Text = info.SecondArticleSql;
            this.textBoxSecFilter.Text = info.SecondNodeFilter;
            this.textBoxSecFilter.Text = info.SecondArticleFilter;
            this.textBoxParentDefault.Text = info.SecondNodeDefaultParentId;
            this.textBoxConnection.Text = info.ConnectionOther;
            this.textBoxParentId.Text = info.NodeId;
            this.textBoxReFilterSec.Text = info.SecondReFilter;
时间: 2024-12-28 15:32:31

ASP.NET 对类进行XML序列化和反序列化的相关文章

XML和实体类之间相互转换(序列化和反序列化)

我们需要在XML与实体类,DataTable,List之间进行转换,下面是XmlUtil类,该类来自网络并稍加修改. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

C# XML和实体类之间相互转换(序列化和反序列化)

我们需要在XML与实体类,DataTable,List之间进行转换,下面是XmlUtil类,该类来自网络并稍加修改. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Data; using System.Xml; using System.Xml.Serialization; /// <summary> ///

c# XML和实体类之间相互转换(序列化和反序列化)[砖]

link: http://blog.okbase.net/haobao/archive/62.html by: 好饱 我们需要在XML与实体类,DataTable,List之间进行转换,下面是XmlUtil类,该类来自网络并稍加修改. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

Xml序列化、反序列化帮助类

之前从网络上找了一个Xml处理帮助类,并整理了一下,这个帮助类针对Object类型进行序列化和反序列化,而不需要提前定义Xml的结构,把它放在这儿供以后使用 1 /// <summary> 2 /// 功能:Xml序列化.反序列化帮助类 3 /// 说明: 4 /// 创建人: 5 /// 创建时间:2014年3月13日 6 /// </summary> 7 public static class XmlHelper 8 { 9 /// <summary> 10 ///

XML 序列化与反序列化

XML序列化与反序列化 1.将一个类转化为XML文件 /// <summary> /// 对象序列化成XML文件 /// </summary> /// <param name="type">对象类型</param> /// <param name="obj">对象</param> /// <param name="fileName">序列化的XML文件路径<

c# XML序列化与反序列化 属性字段标识

序列化对象 public class People { [XmlAttribute("NAME")] public string Name { set; get; } [XmlAttribute("AGE")] public int Age { set; get; } } [XmlRoot("Root")] public class Student : People { [XmlElement("CLASS")] public

XmlSerializer 对象的Xml序列化和反序列化,XMLROOT别名设置

这篇随笔对应的.Net命名空间是System.Xml.Serialization:文中的示例代码需要引用这个命名空间. 为什么要做序列化和反序列化? .Net程序执行时,对象都驻留在内存中:内存中的对象如果需要传递给其他系统使用:或者在关机时需要保存下来以便下次再次启动程序使用就需要序列化和反序列化. 范围:本文只介绍xml序列化,其实序列化可以是二进制的序列化,也可以是其他格式的序列化. 看一段最简单的Xml序列化代码 1 2 3 4 5 6 7 8 9 10 11 12 class Prog

Json/XML序列化和反序列化

1.json序列化和反序列化 序列化是将对象状态转换为可保持或传输的格式的过程; 反序列化,它将流转换为对象; 1)Json.Net 推荐使用Json.Net类库,需要引入的命名空间; 序列化:JsonConvert.SerializeObject 反序列化:JsonConvert.DeserializeObject 2)使用JavaScriptSerializer类 使用JavaScriptSerializer方式需要引入的命名空间,这个在程序集System.Web.Extensions.dl

Note4:XML序列化和反序列化

XML序列化和反序列化 待总结!