ASP.NET程序设计教学课件作者徐占鹏教学资源KC04090000038电子课件单元11XML的数据操作一XML的数据操作课件

上传人:E**** 文档编号:90572045 上传时间:2019-06-13 格式:PPT 页数:21 大小:111.50KB
返回 下载 相关 举报
ASP.NET程序设计教学课件作者徐占鹏教学资源KC04090000038电子课件单元11XML的数据操作一XML的数据操作课件_第1页
第1页 / 共21页
ASP.NET程序设计教学课件作者徐占鹏教学资源KC04090000038电子课件单元11XML的数据操作一XML的数据操作课件_第2页
第2页 / 共21页
ASP.NET程序设计教学课件作者徐占鹏教学资源KC04090000038电子课件单元11XML的数据操作一XML的数据操作课件_第3页
第3页 / 共21页
ASP.NET程序设计教学课件作者徐占鹏教学资源KC04090000038电子课件单元11XML的数据操作一XML的数据操作课件_第4页
第4页 / 共21页
ASP.NET程序设计教学课件作者徐占鹏教学资源KC04090000038电子课件单元11XML的数据操作一XML的数据操作课件_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《ASP.NET程序设计教学课件作者徐占鹏教学资源KC04090000038电子课件单元11XML的数据操作一XML的数据操作课件》由会员分享,可在线阅读,更多相关《ASP.NET程序设计教学课件作者徐占鹏教学资源KC04090000038电子课件单元11XML的数据操作一XML的数据操作课件(21页珍藏版)》请在金锄头文库上搜索。

1、单元十一 XML的数据操作(一) XML的数据操作,主讲教师:袁帅锋,学习目标,【知识目标】 熟练掌握XML的基本语法,以及XML元素和XML属性了解XML应用领域; 【技能目标】 能够创建XML文件,能够显示并读取XML文件和写入XML文件;,注: 本课内容参考教材 单元十一11.1,XML简介,XML(Extensible Markup Language,可扩展标记语言)是一种描述结构化数据的方法,简单来说就是一种数据描述语言,它与HTML的主要区别如下。 XML用来描述数据,而HTML用来显示数据。 XML中的标签是未预定义的,在使用时需要自定义,而HTML里的标签是预定义的。 XML可

2、以广泛应用于Web的任何方面,以满足网络应用的需求。 什么是标记语言 可扩展标记语言XML(eXtensible Markup Language)是一种描述结构化数据的方法,简单来说就是一种数据描述语言,它和超文本标记语言HTML(HyperText Markup Language)一样也是一种标记语言。它们都依赖于描述一定规则的标签和能够读懂这些标签的应用处理工具来发挥它的强大功能。,XML应用领域,如下图描述:,数据交换,web服务,内容管理,web集成,系统配置,其他,XML,XML应用领域,数据交换 xml使用元素和属性来描述数据。在数据传送过程中,xml始终保留了诸如父/子关系这样的

3、数据结构。几个应用程序可以共享和解析同一个XML文件,不必使用传统的字符串解析或拆解过程。 实现html中数据的分离 使用xml,数据存放在分离的xml文档中,使得程序员可以集中精力使用html做好数据的现实和布局,确保数据的改动不会导致html文档的改变,便于页面的维护。 Web服务 web服务是最令人激动的革命之一,它让使用不同系统和不同编程语言的人们能够相互交流和分享数据。 其基础在于web服务器用xml在系统之间交换数据。交换数据通常用xml标记,能使协议取得规范一致,比如在简单对象处理协议 (Simple Object Access Protocol, SOAP)平台上。 SOAP可

4、以在用不同编程语言构造的对象之间传递消息。这意味着一个C#对象能够与一个Java对象进行通讯。这种通讯甚至可以 发生在运行于不同操作系统上的对象之间。,XML文档,下列代码演示了一个简单的XML文档。 主题 内容 ,XML基本语法,语法的基本要求和概念 与HTML 不同XML 的语法有着严格的要求,对于XML 文档 有两层要求:格式良好(well-formed)和有效(valid)。 所谓格式良好的要求包括: 1.确定且惟一的根元素 2.开始标记和结束标记匹配 3.正确的元素标记嵌套 4.属性值要用引号括起 5.同一个元素的属性不能重复,XML元素,XML元素用于封装数据,是XML文档的基本单

5、位,它由元素的名称和属性值组成。XML元素的基本结构由开始标记、数据内容和结束标记组成,因此通常XML元素表示从该元素的开始标记到结束标记之间的部分内容。 注意元素和标签的区别,标签只是一对包含内容的尖括号。例如,“”是标签,“主题”就是一个元素。 在一个XML文档中只能有一个根元素,且它的开始标记须在所有的子元素之前,结束标记须在所有子元素的结束标记之后。子元素之间可以是父子关系或兄弟关系。,XML属性,XML属性用于描述数据的详细信息,属性之中只能包含简单数据类型。通常应该将要存储的大量数据放置于元素的内容中,将元素不同的特性数据以及非必须显示的资料放置在元素的属性中。 示例: Tom J

6、ohn ,XML属性,对于使用子元素还是为元素添加属性值可以由用户任意选择,但应尽量避免使用属性。使用属性的弊端如下: 属性无法包含多个值,子元素可以。 属性不易扩展。 属性无法描述结构,子元素可以。 属性更难被编程代码处理。,XML文档结构,XML文档由DTD和XML文本组成,所谓DTD(document type definitions,文档类型定义),简单来说就是一组标签的语法规则,类似于数据库表,表明XML文本的组织形式。例如,DTD可以表示一个必须有一个子标签,可以决定是否包含子标签等。当然,一个简单的XML文本可以没有DTD。简单来说,DTD文件可以决定文档的结构,XML文件则存放

7、相应的数据。,XML文档结构,XML文档是由数据和描述数据的标记组成的。文档的组成部分包括声明、元素、代码、注释、实体引用、PCDATA、CDATA和处理命令。 声明负责为XML文档匹配合适的解析器,其语法形式如下。 根元素:一个文档中只有一个根元素。 XML的代码主要由元素和属性构成 。 注释的语法形式为。 实体引用用于内容转义,代表与XML规范保留字符相冲突的字符数据,似类于C#中的转义字符。 PDATA(parsed character data)是会被解析器解析的文本。 CDATA(character data)即字符数据,是不会被解析器解析的文本。 处理指令以“”结束 ,紧跟在“?”

8、之后的是一个目标应用程序,然后是指令实际内容 。,2007 iSoftStone Holdings Ltd. All Rights Reserved.,13,XML节点类型,XML节点类型,XML文档中不止以上几种节点类型,XmlNodeType也包括其他节点类型,这些类型如下所示。 Attribut:XML元素的属性。 CDATA:用于转义文本块,避免将文本块识别为标记。 Comment:XML文档的注释。 Document:作为文档树的根的文档对象,可供每个XML文档进行访问。 DocumentType:XML文档类型的声明。 Element:XML元素。 EndElement:当XmlT

9、extReader达到元素末尾时返回。 Entity:实体声明。 Text:元素的文本内容。 WhiteSpace:标记间的空白。 XmlDeclaration:XML节点声明,它是文档中的第一个节点。,操作XML,ASP.NET提供了好几种操作XML文档的方法。主要有: XML控件 XmlTextReader和XmlTextWriter XML DOM XmlDataDocument DataSet,XML文档对象模型,XML文档对象模型(DOM)是树状的对象集,该对象集包括了组成模型的对象及它们的属性和方法。该模型一般由3种基本对象所组成,分别为: XmlDocument对象(XML数据的

10、来源); XmlNode对象(模型中的一个节点); XmlNodeList对象(兄弟节点的集合)。 XmlDocument对象用于表示XML文档中的数据来源。该对象模型允许用户使用任何支持XML的浏览器或应用程序加载XML文件。 XmlNode对象用于描述XML文档中的节点信息。节点可以是元素、属性、处理命令、字符等。 XmlNodeList对象用于描述XmlNode对象的集合,且可利用该对象访问其中的所有元素。,读写XML文件,System.XML名称空间中定义了两个类,分别为XmlReader类和XmlWriter类。其中,XmlReader类中的Read函数用于读XML文档,直到节点尾部

11、;XmlWriter类用于写XML文档。 XmlReader对象:是一个提供对XML数据的非缓存、只进只读访问的抽象基类 ,XmlReader类可以检查字符是否为合法的XML字符,元素和属性的名称是否为有效的XML名称,XML文档的格式是否正确,可以根据DTD或XML Schema验证数据,可以从XML流检索数据或使用提取模型跳过不需要的记录。 XMLWriter对象能够提供一种快速、非缓存和只进的方式来生成包含XML数据的流或文件。,XML文件读取类(XmlTextReader),XmlTextReader类属于System.Xml命名空间,XmlTextReader类提供对XML数据的快速

12、、单项、无缓冲的数据读取功能,因为XmlTextReader类是基于流的,所以使用XmlTextReader类读取XML内容只能够从前向后读取,而不能逆向读取。 因为XmlTextReader类的流形式,节约了读取XML文档的时间,也大量的节约了读取XML所需花费的内存空间,当需要读取XML节点时,只需要使用XmlTextReader类的Read()方法即可,示例代码如下所示。 XmlTextReader rd = new XmlTextReader(Server.MapPath(“XMLFile1.xml“); /构造函数 while (rd.Read() /遍历节点 Response.Wr

13、ite(“Node Type is : “ + rd.NodeType +“/关闭 xmlTextReader ,XML文件写入类(XmlTextWriter),XmlTextWriter类同样提供没有缓存,直向前的方式进行XML文件操作,但是与XmlTextReader类操作相反,XmlTextWriter类执行的是写操作。XmlTextWriter类的构造函数包括三种重载形式,分别为一个字符串、一个流对象和一个TextWriter对象。通过使用XmlTextWriter类可以动态的创建XML文档,示例代码如下所示。 XmlTextWriter wr = new XmlTextWriter(

14、“newXml.xml“, null);/读取XML try wr.Formatting = Formatting.Indented;/格式化输出 wr.WriteStartDocument(); /开始编写文档 wr.WriteStartElement(“ShopInformation“);/编写节点 wr.WriteStartElement(“Shop“); /编写节点 wr.WriteAttributeString(“place“, “北京“);/编写节点 wr.WriteElementString(“Name“, “中关村“);/编写节点 wr.WriteElementString(“

15、Phone“, “123456“);/编写节点 wr.WriteElementString(“Seller“, “Guojing“);/编写节点 wr.WriteEndElement(); /结束节点编写 wr.WriteEndElement(); /结束节点编写 Response.Write(“操作成功“); wr.Flush();/更新文件 wr.Close();/关闭 catch Response.Write(“操作失败“); ,StreamWriter类和StreamReader类,与FileStream类中的Read方法和Write方法相比,这两个类的应用更为广泛且简单,因为Stre

16、amWriter类和StreamReader类按字符操作文件流,而FileStream类使用字节操作文件流。 StreamWriter类常用属性:AutoFlush 、BaseStream StreamWriter类常用方法:Write 、WriteLine、 Close 、Flush 示例: FileStream MyFile=new FileStream (“D:example.txt“,FileMode.OpenOrCreate , FileAccess .Write ); StreamWriter MyStreamWriter = new StreamWriter(Stream)MyFile, System.Text. Encoding.Unicode); MyStreamWriter.Write(“你好”); MyStreamWriter.Flush(); MyStreamWriter.Close();,项目实训,能够创建XML文件,能够显示并读取XML文件。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号