zoukankan      html  css  js  c++  java
  • XmlSerializer使用

    XmlSerializer是对xml进行序列化操作的对象。写了一个Order的序列化方法供留念。

    序列化针对有get,set的属性;属性必须是public方式;对象顺序和序列化的顺序一致。

    对象定义

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Artech.XmlSerializerDemos
    {
        public class Order
        {
            private double _totalPrice;
    
            private Guid _id;
            public Guid ID
            {
                get { return _id; }
                //set;
            }
    
            private DateTime _date;
            public DateTime Date
            {
                //get;
                set{_date=value;}
            }
    
            public string Customer
            {
                get;
                set;
            }
    
            public string ShipAddress
            {
                get;
                set;
    
            }
    
            public Order() { }
    
            public Order(double totalPrice)
            {
                this._totalPrice = totalPrice;
            }
        }
    }

    序列化方法

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Xml;
    using System.Xml.Serialization;
    
    namespace Artech.XmlSerializerDemos
    {
        class Program
        {
            static void Main(string[] args)
            {
                Order order = new Order()
                {
                    //ID = Guid.NewGuid(),
                    Date = DateTime.Today,
                    Customer = "Foo",
                    ShipAddress = "airport address"
                };
                Serialize<Order>(order, @"E:Order.xml");
            }
    
            static void Serialize<T>(T instance, string fileName)
            {
                using (XmlWriter writer = new XmlTextWriter(fileName, Encoding.UTF8))
                {
                    XmlSerializer serializer = new XmlSerializer(typeof(T));
                    serializer.Serialize(writer, instance);
                }
            }
        }
    }
  • 相关阅读:
    P2319 [HNOI2006]超级英雄
    P4302 [SCOI2003]字符串折叠
    P1122 最大子树和
    HDU——2089 不要62
    P4555 最长双回文串
    P1463 [HAOI2007]反素数
    P2412 查单词
    P2787 语文1(chin1)- 理理思维
    P3078 [USACO13MAR]扑克牌型Poker Hands
    ubuntu中desktop与alternate版本的区别(转载)
  • 原文地址:https://www.cnblogs.com/chinaagan/p/3565476.html
Copyright © 2011-2022 走看看