WPF将Xml数据源序列化到 ObservableCollection<T> 类型集合上

举个例子如何序列化XML文件到某个ObservableCollection<T>类型的集合上:

  定义一个ObservableCollection<类名>

private ObservableCollection<school> m_SchoolList;

public ObservableCollection<school> SchoolList
{
  get { return m_SchoolList; }
  set
      {
         m_SchoolList = value;
         this.RaisePropertyChanged("SchoolList");//这个是继承监听类的RaisePropertyChanged方法
      }
 }

将存放在项目某个文件下XML数据源的数据赋值到指定的这个ObservableCollection<类名>集合中

   

///
/// ObservableCollection<类名> 这个指的是要序列化到什么集合上
/// string  filename = "文件名.xml" 这个参数需要更换为要序列化的的文件名
///

public ObservableCollection<school> LoadeXML(string filename = "文件名.xml")
 {
     try
     {
         Type typePer = typeof(ObservableCollection<school>);  // 指明要序列化成的类型
         XmlSerializer xmlser = new XmlSerializer(typePer);
         FileStream fs = new FileStream(Path.Combine("Resources/Date", filename), FileMode.Open);     // 这一段是拼写一个路径,在Resourses文件夹下Date子文件加上提供的XMl的名称拼写一个完整路径
         using (fs) //释放那么一下子 
              {
                 return (ObservableCollection<school>) xmlser.Deserialize(fs);//这才是最终结果
              }
      }
     catch (Exception)
      {
                throw;
      }
 }

还差一步:

///把获取到的数据赋值与之前定义的 ObservableCollection<school> SchoolList集合中
/// 我这是个构造函数不用管
public DataConvert()
 {
    SchoolList = LoadeXML();//通过反序列化的LoadeXML方法进行去赋值到SchoolList中
 }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值