首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

XMLSerializer怎样序列化这个类啊该如何解决

2012-01-31 
XMLSerializer怎样序列化这个类啊以下有两个类,其中CartItem类的数组是ShoppingCart类的一个公共字段,请问

XMLSerializer怎样序列化这个类啊
以下有两个类,其中CartItem类的数组是ShoppingCart类的一个公共字段,请问怎样使用XMLSerializer序列化ShoppingCart类啊
public class ShoppingCart
{
  public string UserName;
  public string CreditCardNumber;
  public CartItem[] CartItems;
public ShoppingCart()
{
}
}

public class CartItem
{
  public string ProductName;
  public decimal ProductPrice;
public CartItem(string productName,decimal productPrice)
{
  this.ProductName = productName;
  this.ProductPrice = productPrice;
}
}



[解决办法]

C# code
using System;using System.Collections.Generic;using System.Text;using System.IO;using System.Xml;using System.Xml.Serialization;namespace XMLSerializer{    class Program    {        static void Main(string[] args)        {            CartItem[] items = new CartItem[]{new CartItem("商品1",123.45m),new CartItem("商品2",678.90m)};            ShoppingCart cart = new ShoppingCart();            cart.UserName = "jeremyyang";            cart.CreditCardNumber = "secret";            cart.CartItems = items;            XmlSerializer serializer = new XmlSerializer(typeof(XMLSerializer.ShoppingCart));            TextWriter writer = new StreamWriter(@"D:\123.xml");            serializer.Serialize(writer, cart);            writer.Close();        }    }    [System.Xml.Serialization.XmlTypeAttribute]    [System.Xml.Serialization.XmlRootAttribute]    public class ShoppingCart    {        [XmlElement]        public string UserName;        [XmlElement]        public string CreditCardNumber;        [XmlArrayItem]        public CartItem[] CartItems;        public ShoppingCart()        {        }    }    [System.Xml.Serialization.XmlTypeAttribute]    public class CartItem    {        [XmlAttribute]        public string ProductName;        [XmlAttribute]        public decimal ProductPrice;        public CartItem(string productName, decimal productPrice)        {            this.ProductName = productName;            this.ProductPrice = productPrice;        }        //注意 XmlSerializer 必须要有个无参的构造函数        public CartItem()        { }    } } 

热点排行