null第17章 在程序中使用可扩展标记语言第17章 在程序中使用可扩展标记语言可扩展标记语言(EXtensible Markup Language)简写为XML,1998年2月10日被确立为W3C
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
。目前XML已经成为业界的焦点,很多技术包括.NET在内都是兼容或者基于XML标准。XML用途广泛,目前已经形成了非常完整的体系,很多平台都对其给予了很大的支持。XML也是.NET平台不可或缺的一个重要部分。本章简单介绍XML的基本概念,以及在VB.NET 2008中对XML的操作。章节内容章节内容17.1 XML基础
17.2 基于DOM操作XML
17.3 流式操作
17.4 实例:图
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
信息管理XML版
17.1 XML基础17.1 XML基础XML即可扩展性标记语言,是一种可以定义标记和语义的元标记语言。
打开VB.NET 2008,单击菜单栏中的【文件】→【新建文件】命令,打开【新建文件】窗口,在该窗口的【模板】列
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
框中,选择【XML文件】,即可创建一个XML文件。
一个典型的XML文档一个典型的XML文档1
2 <老师
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
>
3 <姓名>丁渝姓名>
4 <职业 类别="专职">教师职业>
5 <家属>
6 <妻子>None妻子>
7 家属>
8 <兴趣> 唱歌、跳舞兴趣>
9
10 <电子邮件>dingyu@163.net电子邮件>
11 老师记录>
.Net中对XML的操作.Net中对XML的操作类库都集中在System.Xml命名空间下,所以在直接使用.NET类库时,不要忘记添加IMPORT System.Xml。
按照实现方式不同大致可以分为以下两类。
(1)内存中XML处理。
.NET Framework提供了3个用于在内存中处理XML数据的选项:LINQ to XML、XPathNavigator类和XmlDocument类。
(2)基于流的XML处理。
XmlWriter和XmlReader类提供一种非缓存的只进XML数据处理方式。17.2 基于DOM操作XML17.2 基于DOM操作XML基于DOM结构操作XML是.NET中最常用的编程方法,它的基本思路是将XML加载到内存形成DOM结构,然后以树形节点的方式操作文档。XML将数据组织为树状结构,DOM就是对这棵树的一个对象描述。
17.2.1 DOM对象17.2.1 DOM对象Document对象代表了整个XML的文档,所有其他的对象,都以一定的顺序包含在Document对象之内,排列成一个树状的结构,可以通过遍历这棵树来得到XML文档的所有的内容,这也是对XML文档操作的起点。
此外,Document还包含了创建其他对象的方法。
null下面代码是一个XML文档。
1
2
3
4
5 VB.NET 2008从入门到提高
6 张琴
7 XXX出版社
8 30
9
10
11 Visual Studio2008编程
12 李新
13 YYY出版社
14 35
15
16
该文档的DOM树该文档的DOM树null在 XML 文档结构中,此图中的document表示整个XML文档,XmlDocument类(扩展 XmlNode)支持用于对整个文档执行操作。
每个方框表示一个节点(称为 XmlNode 对象)。 XmlNode 对象是 DOM 树中的基本对象。
此外,XmlDocument 提供了查看和处理整个XML文档中的节点的方法。
17.2.2 加载XML17.2.2 加载XML要使用DOM操作XML文档,首先要将XML文档加载到内存中,表示为一个XMLDocument对象。
XML文件的加载可以使用XMLDocument类的方法,如下。
Load:表示从指定的URL加载XML文档。URL既可以是本地文件,也可以是HTTP URL。Load方法有多个重载,详细内容可以查看SDK。
LoadXml:表示从指定的字符串加载XML文档。
17.2.3 保存XML17.2.3 保存XML将XML保存到特定位置可以使用XmlDocument类的Save方法。
1 Dim xmlDoc As new Xml.XmlDocument( )
2 xmlDoc.Load("F:\book.xml")
3 xmlDoc.Save("F:\book2.xml")
17.2.4 添加节点17.2.4 添加节点在XML中添加节点可以使用下列XmlDocument类的方法。
CreateNode:创建新节点。
CreateTextNode:创建新节点,并指定文本。
InsertBefore:在某节点之前插入新节点。
InsertAfter:在某节点之后插入新节点。
17.2.5 更新节点17.2.5 更新节点null下面代码更新第一本书的标题,即book.xml的第一个book节点的title节点。
1 Dim doc As New Xml.XmlDocument( )
2 doc.Load("F:\book.xml")
3 Dim root As Xml.XmlElement = doc.DocumentElement
4 root.FirstChild.FirstChild.InnerText = "更新的标题"
5 doc.Save("F:\book4.xml")
17.2.6 遍历节点17.2.6 遍历节点遍历所有节点和对树结构遍历类似,需要递归处理。17.2.7 查找节点17.2.7 查找节点null查找指定节点在XML操作中很常见,如果是遍历操作,一般用表格中XmlNode的属性;如果是根据节点ID或者查找同类型节点,则用XmlDocument的方法。
17.2.8 删除节点17.2.8 删除节点在XML中删除节点可以使用XmlDocument类的方法,如下。
RemoveAll:表示移除当前节点的所有子节点和/或属性。
RemoveChild:表示移除指定的子节点。
17.3流式操作17.3流式操作流式操作最大的特点就是以时间换取空间。
假如XML文档内容简短,那么缓存式访问明显比流式访问要简单;
但是如果XML文档比较庞大,那么一次性读入内存中将会占用很大内存资源,且DOM结构过于复杂而影响检索性能,这个时候流式访问就明显优于缓存式的访问方式。
在.NET类库中,XmlReader类实现流式读操作,XmlWriter类实现流式写操作。XmlReader类常用的几个成员XmlReader类常用的几个成员XmlWriter类常用的几个成员XmlWriter类常用的几个成员17.4 实例:图书信息管理XML版17.4 实例:图书信息管理XML版