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 ...
随机推荐
- Bzoj 1674: [Usaco2005]Part Acquisition dijkstra,堆
1674: [Usaco2005]Part Acquisition Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 337 Solved: 162[Sub ...
- 矩阵乘法 and BIOS loads MBR into 0x7C00?
tianpeng <再谈矩阵与矩阵乘法> 讲的也好 矩阵乘矩阵 这个结果是怎么算出来的? 第一个矩阵第一行的每个数字(2和1),各自乘以第二个矩阵第一列对应位置的数字(1和1),然后将乘积 ...
- hdoj 2036 改革春风吹满地
改革春风吹满地 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- Ajax页面跳转
<script type="text/javascript" > $(document).ready(function () { $(&qu ...
- appium
电话键 KEYCODE_CALL 拨号键 5KEYCODE_ENDCALL 挂机键 6KEYCODE_HOME 按键Home 3KEYCODE_MENU 菜单键 82KEYCODE_BACK 返回键 ...
- IT工作中工资最高和增长最快的是什么
Staff在博客IT Jobs with the Highest Pay and Fastest Growth中画了个图说明IT工作中工资最高和增长最快的是什么.
- Zend Framework 2参考Zend\Authentication(数据库表认证)
+ 转载自:Zend Framework 2参考Zend\Authentication(数据库表认证) 介绍 Zend\Authentication\Adapter\DbTable提供对存储在数据库表 ...
- Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.5
Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.5 or one of ...
- MVC入门教程-视图中的Layout使用
本文目标 1.能够重用Razor模板进行页面的组件化搭建 本文目录 1.母板页_Layout.cshtml 2.用户自定义控件 3.默认Layout引用的使用(_ViewStart.cshtml) 1 ...
- mybatis06 增删改差 源码
user.java package cn.itcast.mybatis.po; import java.util.Date; public class User { private int id; p ...