XML数据操作.ppt_第1页
XML数据操作.ppt_第2页
XML数据操作.ppt_第3页
XML数据操作.ppt_第4页
XML数据操作.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、XML数据操作,学习内容,XML概述访问和操作XML,XML概述,XML的英文全称是ExtensibleMarkupLanguage,中文翻译为可扩展标记语言。它是网络应用开发的一项新的技术。XML同HTML一样,是一种标记语言,但是XML的数据描述的能力要比HTML强很多,XML具有描述所有已知和未知数据的能力。XML扩展性比较好,可以为新的数据类型制定新的数据描述规则,作为对标记集的扩展。XML出现以后就迅速走红,目前已经成为不同系统之间数据交换的基础。XML的商用前景之所以非常广阔,也是因为它满足了当前商务数据交换的需求,,XML概述,XML具有的特点:XML数据可以跨平台使用并可以被人

2、阅读理解;XML数据的内容和结构有明确的定义;XML数据之间的关系得以强化;XML数据的内容和数据的表现形式分离;XML使用的结构是开放的,可扩展的。在.NET框架中,提供了一系列应用程序接口来实现XML数据的读写,比如使用XmlDocument类来实现DOM等。这些应用程序接口非常方便于程序员来操作XML。,XML概述,一个XML文档有以下几个部分组成:1.XML的声明XML声明具有如下形式:XML标准规定声明必须放在文档的第一行。声明其实也是处理指令的一种,一般都具有以上代码的形式。2.处理指令PI处理指令PI为处理XML的应用程序提供信息。处理指令PI的格式为:3.XML元素元素是组成X

3、ML文档的核心,格式如下:内容,XML概述,XML语法规则每个XML文档都要包括至少一个根元素。根标记必须是非空标记,包括整个文档的数据内容。数据内容则是位于标记之间的内容。下面示例代码是一个标准的XML文档:1张文上海2李世上海,XML概述,文档类型定义文档类型定义(DocumentTypeDefinition,DTD)是一种规范,在DTD中可以向别人或XML的阅读工具解释XML文档标记集中每一个标记的含义。DTD根据其出现的位置可以分为内部DTD和外部DTD两种。内部DTD是指DTD和相应的XML文档处在同一个文档中,外部DTD就是DTD与XML文档处在不同的文档之中。,XML概述,描述D

4、TD文档也需要一套语法结构,关键字是组成语法结构的基础,构建DTD时常用的关键字有:ANY:数据既可是纯文本也可是子元素,多用来修饰根元素ATTLIST:定义元素的属性DOCTYPE:描述跟元素ELEMENT:描述所有子元素EMPTY:空元素SYSTEM:表示使用外部DTD文档#FIXEDATTLIST:定义的属性的值是固定#IMPLIEDATTLIST:定义的属性不是必须赋值的#PCDATA:数据为纯文本#REQUIREDATTLIST:定义的属性是必须赋值的INCLUDE:表示包括的内容有效,类似与条件编译IGNORE与INCLUDE相应,表示包括的内容无效,XML概述,DTD还提供了一些

5、运算表达式来描述XML文档中的元素,常用的DTD运算表达式有:A+:元素A至少出现一次A*:元素A可以出现很多次,也可以不出现A?:元素A出现一次或不出现(ABC):元素A,B,C的间隔是空格,表示它们是无序排列(A,B,C):元素A,B,C的间隔是逗号,表示它们是有序排列A|B:元素A,B之间是逻辑或的关系上面的A,B,C代表XML文档中的元素。,XML概述,可扩展样式语言XSL的英文是ExtensibleStylesheetLanguage,翻译成中文就是可扩展样式语言。它是W3C制定的另一种表现XML文档的样式语言。XSL是XML的应用,符合XML的语法规范,可以被XML的分析器处理。X

6、SL是一种语言,通过对XML文档进行转换,然后将转换的结果表现出来。转换的过程是根据XML文档特性运行XSLT(XSLTransformation)将XML文档转换成带信息的树型结果。然后按照FO(FormattedObject)分析树,从而将XML文档表现出来。,XML概述,XSL转换XML文档分为二个步骤:建树和表现树。建树可以在服务器端执行,也可以在客户端执行。在服务器端执行时,把XML文档转换成HTML文档,然后发送到客户端。而早客户端执行建树的话,客户端必须支持XML和XSL。XSLT主要用来转换XML文档,在商业系统中它可以将XML文档转换成可以被各种系统或是应用程序解读的数据。这

7、非常有利于各种商业系统之间的数据交换。,XML概述,XSLT实际上就是通过模板将源文件文档按照模板的格式转换成结果文档的。模板定义了一系列的元素来描述源文档中的数据和属性等内容,在经过转换之后,建立树型结构。XSLT中常用的模板有:,XML概述,XPathXPath是XSLT的重要组成部分。XPath的作用在于为XML文档的内容定位,并通过XPath来访问指定的XML元素。之所以要在XSL中引入XPath的概念,目的就是为了在匹配XML文档结构树时能够准确地找到某一个节点元素。XPath提供了一系列的节点匹配的方法:路径匹配:路径匹配和文件路径的表示比较相似,通过一系列的符号来指定路径。位置匹

8、配:根据每个元素的子元素都是有序的原则来匹配。亲属关系匹配:XML是一个树型结构,因此在匹配时可以利用树型结构的“父子”关系。条件匹配:利用一些函数的运算结果的布尔值来匹配符合条件的节点。,访问和操作XML,XML数据的访问和操作时通过DOM(DocumentObjectModel)来实现的,它是一个程序接口。.NET类库中支持DOM的类分为两个层次:基础类和扩展类。基础类组包括了用来编写操纵XML文档的应用程序所需要的类;扩展类被定义用来简化程序员的开发工作的类。在基础类中包含了三个类:XmlNode类用来表示文档树中的单个节点,它描述了XML文档中各种具体节点类型的共性,它是一个抽象类。X

9、mlNodeList类用来表示一个节点的有序集合,它提供了对迭代操作和索引器的支持。XmlNamedNodeMap类用来表示一个节点的集合,该集合中的元素可以使用节点名或索引来访问。,访问和操作XML,扩展类中主要包括了以下几个由XmlNode类派生出来的类。,访问和操作XML,创建XML文档的方法有两种:(1)创建不带参数的XmlDocument。下面的代码显示了如何创建一个不带参数的XmlDocument:XmlDocumentdoc=newXmlDocument();(2)创建一个XmlDocument并将XmlNameTable作为参数传递给它。创建文档时,将自动创建XmlNameTa

10、ble,并在加载此文档时用属性和元素名加载XmlNameTable。以下代码示例是创建带参数的XmlDocument实例:System.Xml.XmlDocumentdoc=newXmlDocument(xmlNameTable);,访问和操作XML,DOM可以将不同的格式的XML读入内存,这些格式可以是字符串、流、URL、文本读取器或XmlReader的派生类。读取的XML数据的方法有两种:(1)Load方法,该方法加载指定的XML数据。总共包含四个重载函数:XmlDocument.Load(Stream):从指定的流加载XML文档。XmlDocument.Load(String):从指定的

11、URL加载XML文档。XmlDocument.Load(TextReader):从指定的TextReader加载XML文档。XmlDocument.Load(XmlReader):从指定的XmlReader加载XML文档。(2)LoadXML方法,该方法从字符串中读取XML。,访问和操作XML,ASP.NET的DOM提供了基于XPath的导航方法,使用这些导航方法可以方便的查询DOM中的信息。DOM提供了两种XPath导航方法:(1)SelectSingleNode方法:返回符合选择条件的第一个节点。(2)SelectNodes方法:返回包含匹配节点的XmlNodeList。,访问和操作XML

12、,为一个XML文档创建一个新节点需要两个步骤来完成。1.创建一个节点,选择如下的方法中的一个。,访问和操作XML,2.创建新节点后,选择如下方法中的一个,把创建的节点插入到XML结构树中。,访问和操作XML,在.NET框架下,使用DOM,可以有多种方法来修改XML文档的节点、内容和值。常用的修改XML文档的方法如下:使用XmlNode.Value方法更改节点值。使用XmlNode.InnerXml属性完成用新节点替换节点来修改全部节点集。使用XmlNode.ReplaceChild方法用新节点替换现有节点。使用XmlCharacterData.AppendData方法、XmlCharacter

13、Data.InsertData方法或XmlCharacterData.ReplaceData方法将附加字符添加到从XmlCharacter类继承的节点。对从XmlCharacterData继承的节点类型使用DeleteData方法移除某个范围的字符来修改内容。使用SetAttribute方法更新属性值。如果不存在属性,SetAttribute创建一个新属性;如果存在属性,则更新属性值。,访问和操作XML,DOM在内存中之后,可以删除树中的节点,或删除特定节点类型中的内容和值。1.删除节点若要从DOM中移除节点,可以使用RemoveChild方法移除特定节点。若要从DOM中移除多个节点,可以使用

14、RemoveAll方法移除当前节点的所有子级和属性。2.删除属性集合中的属性可以使用XmlAttributeCollection.Remove方法移除特定属性;也可以使用XmlAttributeCollection.RemoveAll方法移除集合中的所有属性,使元素不具有任何属性;或者使用XmlAttributeCollection.RemoveAt方法移除属性集合中的属性(通过使用其索引号)。3.删除节点属性使用XmlElement.RemoveAllAttributes移除属性集合;使用XmlElement.RemoveAttribute方法按名称移除集合中的单个属性;使用XmlElement.RemoveAttributeAt按索引号移除集合中的单个属性。4.删除节点内容可以使用DeleteData方法移除字符,此方法从节点中移除某个范围的字符。,访问和操作XML,可以使用Save方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论