C# XML序列化实例浅析

本文介绍如何使用C#进行XML序列化与反序列化。包括定义可序列化对象、序列化对象到XML文件及从XML文件反序列化对象的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

  定义一个需要序列化的对象:

  using System;  namespace XMLSerializer

  {

  /// ﹤summary﹥

  /// 测试类

  /// ﹤/summary﹥

  public class TestXML

  {

  public string name;

  public string sex;

  public string age;

  }

  }

  然后我们就可以在程序中使用这个类构造对象 c# XML序列化。

  private void button1_Click(  object sender, System.EventArgs e)

  {

  TestXML a = new TestXML();

  a.name = tbName.Text;

  a.sex = tbSex.Text;

  a.age = tbAge.Text;

  SaveFileDialog of = new SaveFileDialog();

  of.Filter = " XML文档|*.XML";

  if( of.ShowDialog() == DialogResult.OK )

  {

  try {  Stream s = of.OpenFile();

  new XmlSerializer( a.GetType() ).Serialize( s, a );

  s.Close();

  }

  catch( Exception ex )

  {

  MessageBox.Show( ex.Message );

  }

  }

  }

  C# XML序列化之从XML文档中反序列化出对象

  private void button2_Click(object sender, System.EventArgs e)

  {

  OpenFileDialog o = new OpenFileDialog();

  o.Filter = " XML文档|*.XML|所有文件|*.*";

  if( o.ShowDialog() == DialogResult.OK )

  {

  try

  {

  XmlSerializer xs = new XmlSerializer( typeof( TestXML )

  );

  Stream s = o.OpenFile();

  TestXML a = xs.Deserialize( s ) as TestXML;

  tbName.Text = a.name;

  tbSex.Text = a.sex;

  tbAge.Text = a.age;

  s.Close();

  }

  catch( Exception ex )

  {

  MessageBox.Show( ex.Message );

  }

  }

  }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值