MVVM模式应用 之xml文件的读取
XML如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<schools>
<school id='1'>
<SchoolName>郑州大学</SchoolName>
<SchoolClass>一本</SchoolClass>
</school>
<school id='2'>
<SchoolName>河南大学</SchoolName>
<SchoolClass>一本</SchoolClass>
</school>
<school id='3'>
<SchoolName>南阳理工学院</SchoolName>
<SchoolClass>二本</SchoolClass>
</school>
<school id='4'>
<SchoolName>河南工业大学 </SchoolName>
<SchoolClass>二本</SchoolClass>
</school>
</schools>
现在,需要把该xml文件里面的内容读取出来。
(1)首先,新建一个类University.CS,放在Model文件夹中
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace 河南大学学府.Model
{
/// <summary>
/// 大学类
/// </summary>
public class University
{
public int SchoolID { get; set; }
public string SchoolName { get; set; }
public string SchoolClass { get; set; }
}
}
(2)
先定义一个接口IUniversity,放在文件夹Service中
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using 河南大学学府.Model;
namespace 河南大学学府.Service
{
interface IUniversity
{
List<University> GetUniversityList();
}
}
(3)
创建类UniversityService并且继承接口IUniversity
我们把读取的内容放到List<University>里面
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Collections.Generic;
using 河南大学学府.Model;
using System.Xml.Linq;
using System.Linq;
namespace 河南大学学府.Service
{
public class UniversityService:IUniversity
{
/// <summary>
/// 得到河南大学列表
/// </summary>
/// <returns></returns>
public List<University> GetUniversityList()
{
//解析文件University.xml
XDocument doc = new XDocument();
doc = XDocument.Load("/Data/University.xml");
List<University> UniversityList = new List<University>();
UniversityList = (from db in doc.Element("schools").Elements("school")
select
new University
{
SchoolID = Int32.Parse( db.Attribute("id").Value),
SchoolName = db.Element("SchoolName").Value,
SchoolClass = db.Element("SchoolClass").Value
}).ToList();
return UniversityList;
}
}
}
这样,根据University的GetUniversityList方法就能得到我们需要的数据了。
MVVM模式应用 之xml文件的读取的更多相关文章
- spring 框架的xml文件如何读取properties文件数据
spring 框架的xml文件如何读取properties文件数据 第一步:在spring配置文件中 注意:value可以多配置几个properties文件 <bean id="pro ...
- python之xml 文件的读取方法
''' xml 文件的读取方法 ''' #!/usr/bin/env python # -*- coding: utf- -*- import xml.etree.ElementTree as ET ...
- XML文件的读取----cElementTree
XML文件如下: <?xml version="1.0" encoding="UTF-8"?> <tokenxml> <token ...
- Java文件操作①——XML文件的读取
一.邂逅XML 文件种类是丰富多彩的,XML作为众多文件类型的一种,经常被用于数据存储和传输.所以XML在现今应用程序中是非常流行的.本文主要讲Java解析和生成XML.用于不同平台.不同设备间的数据 ...
- 使用DOM4J解析XMl文件与读取XML文件
XML文件 <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book id ...
- C#的XML文件的读取与写入
在设计程序的时候,对于一些变化性较强的数据,可以保存在XML文件中,以方便用户修改.尤其是对于一些软硬件的配置文件,很多都选择了用XML文件来存取.XML文件简单易用,而且可以在任何应用程序中读写数据 ...
- WinForm中DataGridView对XML文件的读取
转自http://www.cnblogs.com/a1656344531/archive/2012/11/28/2792863.html c#读取XML XML文件是一种常用的文件格式,例如Win ...
- XML文件的读取
<?xml version="1.0" encoding="gbk"?> <!--设置编码格式为gbk--> <!DOCTYPE ...
- linux下使用libxml2实现对xml文件的读取及查询
由于项目需要,这两天在用C++做XML文件解析的工作.在linux下有个很方便的操作xml文件的库——libxml2,它提供了一套创建和查询xml文件的C语言的接口.这篇博客主要介绍如何使用libxm ...
随机推荐
- 【转】[慢查优化]联表查询注意谁是驱动表 & 你搞不清楚谁join谁更好时请放手让mysql自行判定
转自:http://zhengyun-ustc.iteye.com/blog/1942797 写在前面的话: 不要求每个人一定理解 联表查询(join/left join/inner join等)时的 ...
- useradd、passwd、userdel
useradd是新建用户 userdel -r 是删除用户 passwd是修改密码 groupadd是新建组 groupdel是删除组 useradd yonghu 为添加用户 echo " ...
- JSON AND BSON
JSON JavaScript Object Notation (JSON) is an open, human and machine-readable standard that facilita ...
- IOS开发之内存管理--dealloc该写些什么
在非ARC开发环境中,dealloc是类释放前,清理内存的最后机会.到底那些变量和属性该释放呢,一些特殊的类(nstimer,observer)该怎么释放.需要注意的是不释放会引起内存泄露,过度释放也 ...
- CentOS6.6从头到尾部署nginx与tomcat多实例 转
前提条件: 1.需要一个全新的centos系统(本文中用到是centos6.6) 2.vmware虚拟机 3.vmware下安装centos系统,以NAT方式与宿主机相连 4.在centos系统中pi ...
- 【转】PyDev for Eclipse 简介
转自:http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-pydev/index.html PyDev for Eclipse 是一 ...
- WEB DYNPRO SAP HELP
http://help.sap.com/saphelp_nw70ehp1/helpdata/EN/43/70d83e8cb23d67e10000000a114084/content.htm
- mysql查询随机几条数据(速度快)
MySql查询随机几条数据 想到了 Max RAND 这几个函数 用以下2种办法都可以实现查询. 速度还行. 几十万数据左右, 没有什么问题. SELECT * FROM `news` WHERE i ...
- HTML5到底能给企业带来些什么?
一.改变企业网络广告的模式与分布 广告是企业网络营销的主要方式之一.十几年来,无论是展示还是互动,基本被Adobe Flash所主宰.然而,HTML5网页的多媒体特性.三维.图形及特效,超炫的浏览体验 ...
- Linux进程管理—信号、定时器
信号: 1. 信号的作用: 背景: 进程之间通信比较麻烦. 但进程之间又必须通信,比如父子进程之间. 作用: 通知其他进程响应.进程之间的一种通信机制. 信号: 接受信号的进程马上停止,调 ...