C#复杂类型序列化

[Serializable]
public class CardItemInfo
{
    private int lineWidth;//线宽
    private CardItemInfo childCardItemInfo;
    public int LineWidth
    {
        get { return lineWidth; }
        set
        {
            lineWidth = value;
        }
    }
    public int ChildCardItemInfo
    {
        get { return childCardItemInfo; }
        set
        {
            childCardItemInfo = value;
        }
    }
}

定义列表

private static List<CardItemInfo> listItemInfo=new List<CardItemInfo>();

序列化到XML

public static bool SaveXml()
        {
            CardItemInfo cardItemInfo=new CardItemInfo();
            cardItemInfo.LineWidth = 11;
            CardItemInfo childCardItemInfo=new CardItemInfo();
            childCardItemInfo.LineWidth = 22;
            cardItemInfo.ChildCardItemInfo = childCardItemInfo;
            listItemInfo.Add(cardItemInfo);
            Stream fStream = new FileStream(System.Windows.Forms.Application.StartupPath + @"\test11.xml", FileMode.Create);
            XmlSerializer xmlFormat = new XmlSerializer(typeof(List<CardItemInfo>));
            xmlFormat.Serialize(fStream, listItemInfo);//序列化对象
            return false;
        }

从XML反序列化

public static bool LoadFromXml(String fileName)
        {
            try
            { 
                System.IO.Stream fStream = new FileStream(fileName, FileMode.Open);
                XmlSerializer xmlFormat = new XmlSerializer(typeof(List<CardItemInfo>));
                listItemInfo = (List<CardItemInfo>)xmlFormat.Deserialize(fStream);
                fStream.Close();
                MessageBox.Show("OK");
 
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
                return false;
            }
            return true;
        }

 博客资源:QQ群616945527,博客相关资源,同名文件。

转载于:https://www.cnblogs.com/zhaogaojian/p/8526494.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值