`

XML序列化

    博客分类:
  • C#
阅读更多

    XML与Object序列化

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Serialization;
using System.IO;
using System.Collections;

namespace Serialization
{
    public partial class XmlSerializerDemo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //this.LoadData();
                this.MyArrayList();
            }
        }

        /// <summary>
        /// 加载数据
        /// </summary>
        private void LoadData()
        {
            List<Person> people = new List<Person>();
            people.Add(new Person("0001", "张三"));
            people.Add(new Person("0002", "李四"));
            XmlSerializer s = new XmlSerializer(typeof(List<Person>));
            TextWriter w = new StreamWriter(Server.MapPath("~/person.xml"));
            s.Serialize(w, people);
            w.Close();

            //XmlSerializer s = new XmlSerializer(typeof(Person));
            //TextWriter w = new StreamWriter(Server.MapPath("~/person1.xml"));
            //s.Serialize(w, p);
            //w.Close();

            TextReader r = new StreamReader(Server.MapPath("~/person.xml"));
            List<Person> listPerson = s.Deserialize(r) as List<Person>;
            r.Close();
            Response.Write(listPerson[1].Name);
        }

        /// <summary>
        /// 情况二
        /// </summary>
        public void MyArrayList()
        {
            ArrayList people = new ArrayList();
            people.Add(new Person("001", "王雪"));
            people.Add(new Person("002", "茼桐"));

            XmlSerializer s = new XmlSerializer(typeof(ArrayList), new Type[] { typeof(Person) });
            TextWriter w = new StreamWriter(Server.MapPath("~/p.xml"));
            s.Serialize(w, people);
            w.Close();

            TextReader r = new StreamReader(Server.MapPath("~/p.xml"));

            ArrayList array = s.Deserialize(r) as ArrayList;

            foreach (Person al in array)
            {
                Response.Write("序号为:" + al.Id + "&nbsp;&nbsp;&nbsp;&nbsp;");
                Response.Write("姓名为:"+al.Name+"<br/>");
            }
        }
    }

    public class Person
    {
        public Person() { }


        public Person(string id, string name)
        {
            Id = id;
            Name = name;
        }

        public string Id { get; set; }

        public string Name { get; set; }
    }
}

 

分享到:
评论

相关推荐

    XML序列化与反序列化 实战

    XML序列化与反序列化是.NET框架中处理数据交换的重要技术,它允许我们将对象的状态转换为XML格式的数据,也可以将XML数据恢复为等效的对象。这个实战项目专注于使用C#实现这一过程,使得开发者能够方便地在XML文件和...

    XmlDemoTranfer Xml序列化与反序列化

    Xml序列化与反序列化是.NET框架中一种重要的数据转换技术,主要应用于将对象的状态转换成XML格式的字符串,便于存储或传输,同时也能够将XML数据还原为对象。在C#编程中,这一功能通常通过System.Xml.Serialization...

    C#中Font和Color的Xml序列化

    在本文中,我们将探讨如何通过自定义方式实现Font和Color在XML序列化中的应用。 首先,让我们了解什么是Font和Color。Font对象在C#中代表了文本的外观,包括字体名称、大小、样式(如粗体、斜体)等属性。而Color...

    二进制序列化和XML序列化

    在.NET框架中,有两种常见的序列化方式:二进制序列化和XML序列化。这两种方法各有优缺点,适用于不同的场景。 一、二进制序列化 二进制序列化是.NET框架提供的一种高效的数据序列化方式,它将对象转换为字节流,以...

    12xml序列化器

    "12xml序列化器"可能是某个特定的库或者实现,旨在简化Android开发者在XML序列化和反序列化中的工作。 在Android中,XML序列化通常有两种主要方法:使用标准的Java库和使用Android提供的特殊工具。 1. **标准Java...

    XML序列化与反序列化整理文档(12套)

    XML序列化是将对象的状态转换为XML格式的过程,这样可以将数据保存到文件或通过网络进行传输。反序列化则是将XML数据恢复为原始对象结构的过程。这两个操作在编程中非常常见,尤其是在需要跨平台或跨语言传递数据时...

    C#中以PLCOpen为例子的XML序列化,反序列化的代码

    在.NET框架中,XML序列化和反序列化是将对象的状态转换为XML文档,以及将XML文档还原为等效对象的过程。这对于数据持久化、网络传输或者存储在XML格式的配置文件中非常有用。本例以C#语言为基础,结合PLCOpen标准,...

    C#JSon XML序列化与反序列化工具

    在C#中,`System.Xml.Serialization`命名空间提供了XML序列化和反序列化的功能: ```csharp using System.Xml.Serialization; [XmlRoot("MyData")] public class MyData { [XmlElement("Name")] public string ...

    java的model,xml序列化(简单的,复杂的)方法都有

    Java模型(Model)和XML序列化是Java开发中常见的数据处理技术,主要用于对象与XML文档之间的转换。在本文中,我们将深入探讨这两种序列化方法,包括简单和复杂的情况。 首先,让我们理解Java Model。在软件工程中...

    C#序列化与反序列化(包括复杂xml对象)

    本文将深入探讨C#中的XML序列化和反序列化技术,包括如何将XML文档解析为对象,以及如何将对象转换回XML文档进行存储。我们将详细讲解三种方法,涵盖从XML节点获取键值对(KV值)到处理对象数组和节点标签组合的反...

    XML 序列化mainactivity代码

    XML 序列化mainactivity代码如果需要完整的代码可以发消息给我

    XML序列化示例 XML

    XML序列化是将对象的状态转换为XML格式的过程,这在跨平台通信、持久化数据或者简化复杂对象结构的处理时非常有用。在本文中,我们将深入探讨XML序列化的概念、优点、实现方式以及相关的编程实践。 一、XML序列化的...

    Xml反序列化

    1. **创建一个XML序列化类**:首先,我们需要定义一个类,该类的属性与XML文件中的元素相对应。例如,如果XML文件包含电源配置信息,可能有一个类名为`PowerConfig`,其中包含如`Voltage`、`Current`和`Frequency`等...

    C# xml序列化和反序列化

    在C#编程中,XML序列化和反序列化是一项重要的技术,它允许我们将对象的状态转换为XML格式的数据,以及将XML数据恢复为等效的对象。这在数据存储、网络传输和配置文件等方面都有广泛的应用。以下是对这个主题的详细...

    XML序列化例子XML序列化例子

    XML序列化是编程领域中一个重要的概念,尤其是在处理数据交换和存储时。它是指将对象的状态转换为XML格式的过程,以便于数据传输、持久化存储或者在不同的应用程序之间共享。XML(eXtensible Markup Language)是一...

    wpf应用程序之xml序列化

    在.NET框架中,Windows Presentation Foundation (WPF) 是一个用于构建桌面应用程序的强大工具,而XML序列化是WPF中处理数据存储和交换的一种关键技术。本文将深入探讨XML序列化在WPF应用程序中的应用,以及如何进行...

    将treeView序列化Xml

    - 使用`System.Xml.Serialization`命名空间中的`XmlSerializer`类来实现XML序列化。 - 创建一个`TreeViewData`实例,使用`TreeView`对象初始化它。 - 创建一个`StreamWriter`,指定要保存的XML文件路径。 - 使用...

    XML文件序列化与反序列化

    XML序列化是将对象的属性和字段转换为XML文档的过程。在.NET中,我们可以使用`XmlSerializer`类来实现这一功能。首先,我们需要一个包含要序列化属性的对象。例如,我们有一个名为`Person`的类: ```csharp public ...

    xml序列化和反序列化 c#

    XML序列化和反序列化是C#编程中处理数据存储和传输的重要技术。XML(Extensible Markup Language)是一种用于标记数据的语言,具有良好的可读性和跨平台性,使其成为网络数据交换的理想选择。C#提供了内置的支持来...

    PersonInfo[XML序列化]

    XML序列化是.NET框架中的一项重要技术,它允许我们将对象的状态转换为XML格式的字符串,以便存储或传输。在C#编程中,XML序列化是一个非常实用的功能,尤其是在数据交换、配置文件保存或者网络通信中。`PersonInfo...

Global site tag (gtag.js) - Google Analytics