赞
踩
举个例子如何序列化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中
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。