asp.net应用与开发技术教程 教学课件 蒋忠仁 c8

上传人:繁星 文档编号:88247161 上传时间:2019-04-22 格式:PPT 页数:41 大小:666.50KB
返回 下载 相关 举报
asp.net应用与开发技术教程 教学课件 蒋忠仁 c8_第1页
第1页 / 共41页
asp.net应用与开发技术教程 教学课件 蒋忠仁 c8_第2页
第2页 / 共41页
asp.net应用与开发技术教程 教学课件 蒋忠仁 c8_第3页
第3页 / 共41页
asp.net应用与开发技术教程 教学课件 蒋忠仁 c8_第4页
第4页 / 共41页
asp.net应用与开发技术教程 教学课件 蒋忠仁 c8_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《asp.net应用与开发技术教程 教学课件 蒋忠仁 c8》由会员分享,可在线阅读,更多相关《asp.net应用与开发技术教程 教学课件 蒋忠仁 c8(41页珍藏版)》请在金锄头文库上搜索。

1、在线教务辅导网:http:/,教材其余课件及动画素材请查阅在线教务辅导网,QQ:349134187 或者直接输入下面地址:,http:/,第8章 XML与ASP.NET,本章将主要介绍XML的基础知识,包括XML的特点、语法、控件及文件的命名空间。另外还将介绍如何在ASP.NET中操作XML文档,包括使用CSS和XSL设置XML样式。,8.1 XML概述 XML全称为Extensible Markup Language,意为可扩展的标记语言,它是一套定义语义标记的规则,这些标记将文档分成许多部件,并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记

2、语言的句法语言。 XML是1986年国际标准组织(ISO)公布的一个名为“标准通用标识语言”(Standard Generalized Markup Language, SGML)的子集。它是由成立于1994年10月的W3C(World Wide Web Consortium)所开发研制的。1998年2月,W3C正式公布了XML的Recommendation 1.0版语法标准。XML包含了SGML的扩展性,文件自我描述特性,以及强大的文件结构化功能,且摒除了SGML过于庞大复杂以及不易普及化的缺点。XML和SGML一样,是一种“元语言”(Meta-Language),换言之,XML是一样用来定

3、义其他语言的语法系统,这正是XML功能强大的主要原因。,8.1.1 XML的特点 正是XML的特点决定了其卓越的性能表现。XML作为一种标记语言,有许多特点: 1可扩充性 2数据和显示信息的分隔 3国际化 4语义信息 5XML的架构,8.1.2 XML与HTML XML和HTML都来自于SGML(Standard Generalized Markup Language,通用标识语言标准),但严格说起来,XML本身不是一个单一的标识语言,它是一种元语言(Meta-Language),可以被用来定义任何一种新的标语言。HTML之类的传统标识语言,是用来定义某一类文件的格式,以便显示或打印;而XML

4、可以用来创造类别文件的格式定义,也就是在XML之中,可以创造出很多不同的标识语言,用来定义不同的文件类别。它们之间主要的区别如下: 可扩展性方面:HTML不允许用户自行定义自己的标识或属性,而在XML中,用户能够根据需要,自行定义新的标识及属性名,以便更好地从语义上修饰数据。 结构性方面:HTML不支持深层的结构描述,XML的文件结构嵌套可以复杂到任意程度,能表示面向对象的等级层次。 可校验性方面:HTML没有提供规范文件以支持应用软件对HTML文件进行结构校验,而XML文件可以包括一个语法描述,使应用程序可以对此文件进行结构确认。 XML并不是HTML的替代品,HTML的主要功能是设置页面的

5、外观,它的重点是如何将网页外观做的更加漂亮而XML的主要功能则是存储数据,它的重点是如何做到有序、合理地存储数据。可以说,两者是各司其责的。,范例ch08_01.xml:利用XML存储数据实例。 像XML这样的文本数据,在HTML中也能实现,比如将上面的数据使用HTML中的Table来表示(范例ch08_01.aspx)。 两个程序执行后的效果图是一样的,虽然这两种方法从显示的结果来看没有区别,但是,后者有一个致命的缺陷,那就是如何分析存储的数据。标签及其内部包含的、标签都是在HTML中常用的标签,大多数情况下,在一个HTML文件中可能存在多个标签,而在其他标签中包含的可能是与数据无关的链接或

6、文字等。在这种情况下,使用程序来分析HTML文档中的数据,用户就很难知道标签中哪些数据有效,哪些数据无效,所以XML的出现便顺理成章了。,8.2 XML语法 XML中的标签虽然可以自定义,但必须遵循XML的标准规范。XML对标准规范的要求相当严格,不允许出现任何错误。 8.2.1 语法规则 1XML标志区分大小写 例如,下例中的标志是错误的: 2所有的XML元素都必须有一个结束标志 例如,下面的代码在HTML中是合法的: 但是在XML中所有的元素都必须有一个结束标志,所以应该写成这样: ,3所有的XML元素的嵌套必须正确,不得交叉 在XML中所有的嵌套都必须写成: 4元素名称中不能带有空格、保

7、留字等符号 如果元素名称中出现了空格,XML将无法辨别空格后面的是元素名称还是属性。 5元素名不能以“_”开头 例如,设定一元素为“_asp”是一种错误的表达式。 6XML文档中必须有声明 声明的作用是告诉浏览器这个文档是XML文档。 编写XML文档时,不能违反上述规则中的任何一条,否则会导致XML文档解析的失败。,8.2.2 XML声明 下面,我们以一个简单的XML文档例子来说明XML的声明: 张三 王五 注意 请还钱给我 文档的第一行为,这是一个应该经常使用的XML声明(Declaration),其中version这个注明版本的属性是不可缺少的,它定义了XML文档的版本号。在这个例子中表示

8、文档将使用XML1.0的规范。而encoding这个注明文字编码的属性则可有可无,如果省略的话,编码必须是unicode,以UTF-8或UTF-16作编码。在这样的情况下,甚至可以将整行声明绝不能省略,而encoding也绝不可少。,8.2.3 XML的实体 XML具有5种预定义的实体。XML文档中的字符、“和被分别表示为。实体实际上可以起到字处理器中宏的作用。 被替换的文本可以任意长,但是如果确实太长,我们可能需要把信息存储在另一个文件中。这可以通过引用外部实体参考来实现在实体名和文件的URL中使用关键字SYSTEM,这些特征功能强大,但有一个缺点:在一个DTD内不能被扩展。为了实现扩展功能

9、,需要一个名为参数实体的特殊工具,它在实体定义中通过在实体名前插入“%”实现。一旦被定义,参数定义可以通过用百分号和分号包围参数名来实现。 这段代码来自一个公用的XML名片草稿。当定义根元素时,我们会发现更容易把信息分离到不同的参数实体中。如果看看其中一个实体的表示,就会知道为什么了。 如下面的prop.id实体: 如果每个实体都用这么长的字符串表示,就会感到元素定义很难阅读。,8.2.4 XML元素与属性 1元素(Element) 元素是构成XML文档的最小单位,即XML文档所表示的单个数据。如: Tom便是一个基本的元素。 2Tag(标签) 标签是用来定义元素的,标签必须成对出现,即有必须

10、有 。 3属性(Attribute) 在HTML中,如果要设定表单的提交方式是POST,需要设置Method属性: 在XML中也一样,如: 其中,Group是元素Card的属性,属性并不是惟一的。元素的属性可以是一个,也可以是多个。在XML中,属性可以由自己任意设置。不过,XML并不提倡使用属性,因为属性不易被其他程序操作,而且属性与子元素的功能有些“重叠”。 4声明(Declaration) XML文档中第一行必须使用XML声明。,5文件类型定义(DTD) DTD是用来定义XML文档中的元素、属性以及元素之间的关系。通过DTD文件可以检测XML文档的结果是否正确。但建立XML文档并不一定需要

11、使用DTD文件,DTD是以“开始的。 6规划(Schema) Schema是数据规则的描述,Schema相对于DTD的明显好处是XML Schema文档本身也是XML文档,而不是像DTD一样使用另外的语法。我们通常所说的标签(Tags),实际上包含了元素(Element)和属性(Attribute)两部分。 如下面这个例子: JSP入门 王明 53 ,在这个例子中,book是直属于news这个母元素下的子元素,而uniprice则是price的一个属性;我们把unitprice称作“属性名”,等号后面的值则称作“属性值”。最高层的元素news称作“根元素”(root element)。 其结构

12、如下: 元素的内容 在本章的第一个例子中,第二行定义了文档里面的第一个元素(Element),我们也叫第一个元素为根元素。,8.2.5 XML实现的3种方式 要使得用户最后能够在客户端看到使用XML技术做出来的东西(用行业术语说,就是如何使用XSL或者CSS层叠样式表转换XML的文档成其他的格式,例如HTML),主要有下面的3种实现手段: (1)让XML文档和与其关联的XSL或者CSS同时被传送到客户端(通常使用的是浏览器),然后在客户端让XML文档根据XSL定义的显示格式来显示其内容。 (2)在服务端就使用XSL或者CSS转换XML文档为其他格式(通常为HTML格式),然后再把转换过的文档传

13、送给客户端。 (3)使用第三方的产品,在将XML文档放到服务端之前就将该文档转换成其他格式(一般为HTML格式)。 正是由于有这3种不同的解决方法,决定了目前世界上处理XML文档的不同的解决方案。对于开发人员来说,必须了解这3种方式,以针对相应的问题而采取相应的解决方法。,8.3 XML控件 XML控件是用于在Web页面上显示XML代码的专用控件,但在ASP.NET中原始XML代码不会被显示,只有借助于XML控件才能显示XML代码。该控件把XML文件和转化样式文件作为输入,然后把结果代码发送给浏览器。XML控件可以从字符串、URL或XMLDocument对象读取XML。XML控件的使用方法非常

14、简单,如果只是浏览一个XML文档的数据,只需要设置该控件的DocumentSource属性为对应的XML文档即可。,图8.2 ch08_02.aspx的执行结果,范例ch08_02.xml,从图8.2中可以看出,网页中显示的XML数据并没有将每个数据分隔显示,如果数据很多,将无法区分每一条记录,因此就有必要使用XSL样式表。在了解实例之前,必须先知道什么是XSL样式表。 XSL(可扩展样式语言,Extensible Stylesheet Language)是为XML文件定义的一种标识语言,它提供远远超过层叠样式表(Cascading Style Sheets,CSS)的强大功能。实际上,简单的

15、XML已可被CSS解释,然而复杂的高度结构化的XML数据或XML文档则只能依赖于XSL极强的格式化的能力呈现给用户。,XSL由包含一套元素集的XML语法规范来定义,该语法规范用于把XML文件转换成HTML文件或XML文件。尽管XSL是一项新的标识语言,而网络程序员完全可以继续充分地发挥他们熟悉的HTML或脚本语言的优势。 而CSS是以本身的语法来编写的,它不同于XSL的地方,是以XML的语法规范来编写并通过JavaScripts来扩展的。正如XML介于HTML和SGML之间一样,XSL标准介于CSS和SGML的DSSSL(Document Style Semanticsand Specific

16、ation Language,文档样式语义和规范语言)之间。XSL支持DSSSL流对象和CSS对象,并对复杂的任务提供进入脚本语言的通道,而且允许扩展。实现从CSS到XSL的映射是可能的,因而内容开发人员无需全面学习这一语言。,图8.3 ch08_03.aspx的执行结果,ch08_02.xml文档所编写的XSL样式表文件(ch08_03.xsl) 本样式为表文件定义了一个为Card标签的模板。XML控件引用XSL样式表只需要设置TransformSource属性为相应的样式表文件即可。 范例ch08_03.aspx。,从上面的两个示例中,可以知道,在XML控件中,属性DocumentSource和属性TransformSource是两个比较重要的属性,属性DocumentSource表示被显示的XML文档,属性TransformSource表示用指定的XSL转换样式表文件格式化XML文档。,8.4 XML文件的命

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

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