第8章XML程序设计基础.ppt

上传人:本田雅阁 文档编号:2543016 上传时间:2019-04-06 格式:PPT 页数:52 大小:1.21MB
返回 下载 相关 举报
第8章XML程序设计基础.ppt_第1页
第1页 / 共52页
第8章XML程序设计基础.ppt_第2页
第2页 / 共52页
第8章XML程序设计基础.ppt_第3页
第3页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第8章XML程序设计基础.ppt》由会员分享,可在线阅读,更多相关《第8章XML程序设计基础.ppt(52页珍藏版)》请在三一文库上搜索。

1、第8章 XML程序设计基础,8,内容提要,可扩展标记语言(eXtensible Markup Language,XML)是目前应用开发领域中的热门技术。 本章主要讲述XML基本概念, XML的三种显示样式:CSS(Cascading Style Sheet,层叠式样式表单)、XSL(Extensible Style Language,扩展的标记语言)和Data Island(数据岛)及如何利用ASP.NET操作XML文件。,XML的概念,XML(eXtensible Markup Language)和HTML(Hyper Text Markup Language)师出同门,都是从SGML(St

2、andard Generalized Markup Language)延伸而出的标记语言。 XML可以定义语义标记,是元标记语言。XML不像超文本标记语言HTML,HTML只能使用规定的标记。对于XML,用户可以定义需要的标记。,XML文档的结构,案例名称:元标记语言 程序名称:8-01.xml zhourunfa male Teacher of Peking Univ. ,使用属性,案例名称:添加属性 程序名称:8-02.xml 周润发 北京大学 计算机系教师 2000 ,典型的XML文档结构,案例名称:典型的XML文档结构 程序名称:8-03.xml 周润发 教师 None 唱歌、跳舞

3、,XML声明,XML声明是以“ XML声明的作用是告诉浏览器将要处理的文档是XML文件。一个XML文档一般以一个XML声明作为开始,XML声明在XML文档中是可选内容,可加可不加,推荐加入这一行声明。XML声明中可以包含version,encoding和standalone三个属性。,1. version属性,在XML声明中必须包含version属性,指明以下文档遵循哪个版本的XML规范。该属性必须排在XML声明中其他属性之前。由于当前的XML最新版本为1.0,所以在XML声明中出现的版本说明无一例外地都是version=“1.0“。,2. encoding属性,该属性指示文档中字符使用的编码

4、标准。如果文档中使用其他编码规则,则必须使用encoding属性指明。在XML规范中列出了很多编码类型,一般情况下很多编码用不到,只要知道下面几个常见的编码就可以了。 (1)GB2312或者GBK:简体中文编码。 (2)BIG5:繁体中文编码。 (3)UTF-8:压缩的Unicode编码。 如果XML文档使用中文标记或出现中文内容,就应该在XML声明中使用encoding=“gb2312“属性。,3. standalone属性,该属性表明该XML文档是否和一个外部文档配套使用。如果把这个属性值设为“yes”。 如“”,说明这是一个独立的XML文档,与外部文件无关联。,注释,注释是对文档结构或内

5、容的解释,不属于XML文档的内容,所以XML解释器不会处理它们。注释以“”结束。下面一行是注释: 解析器碰到“”时就看作是一个注释的结束,接着把后面的内容作为普通XML文档处理。所以,字符串“”不能出现在注释的内部。除了这个限制外,所有其他合法的XML字符都可以出现在注释中。 有时候为了暂时不让XML解析器处理XML文档中的某些内容,可以在它们的前后加上注释标记。,字符和实体引用,字符和实体引用可以向XML文档中引入其他信息,而不需要直接在文档中输入它们。字符和实体引用通常用于以下情况。 (1)字符不能直接出现在文档中,因为它们会被解释为标记。 (2)由于输入设备的限制,字符不能直接输入到文档

6、中。 (3)由于单字节字符的限制,字符不能可靠地经过处理程序。 (4)相同的字符串或文档片断在文档中多次使用。,表8-1 XML常用的实体引用,使用特殊字符,案例名称:使用特殊字符 程序名称:8-04.xml 北京大学 教师 2000 ,XML的三种显示格式,显示XML文件常见的有三种方式: 使用CSS样式表,使用XSL样式单和使用XML的数据岛技术。,CSS样式表,案例名称:CSS样式表 程序名称:8-05.css GREETING font-size: 48pt; font-weight: bold; ,案例名称:调用CSS的XML文件 程序名称:8-06.xml Hello! ,XSL样

7、式语言,案例名称:调用XSL的XML文件 程序名称:8-07.xml 小张 25 66666666 小王 26 66666667 老刘 28 66666669 ,案例名称:XSL文件 程序名称:8-08.xsl 姓名 年龄 电话 ,XML数据岛技术,案例名称:使用XML文件数据岛 程序名称:8-09.htm 小王 编程基础 是个好老师 小李 JSP技术 是个好老师 名字: 课程: 结论: ,使用XML数据岛,案例名称:使用XML数据岛 程序名称:8-10.xml 小王 编程基础 是个好老师 小李 .NET技术 是个好老师 ,使用XML数据岛,案例名称:使用XML数据岛 程序名称:8-11.ht

8、ml 名字: 课程: 结论: ,XML的两种语法规则,在XML文档规则方面,目前有两种:W3C的DTD技术和微软公司Scema技术。,DTD文档类型定义,1、内部DTD,案例名称:内部DTD 程序名称:8-12.xml 张三 ,测试内部DTD,案例名称:测试内部DTD 程序名称:8-13.xml 张三 中国北京 ,因为IE本身对DTD的校验不是很严格,需要其他的解析器。使用微软提供的工具“msxml.exe”文件可以对DTD进行校验。将msxml.exe文件和8-13.xml文件拷贝到C盘根目录,使用命令“msxml 8-13.xml”对其进行合法性校验,可以验证出该文件是不合法的,显示信

9、息如图,2、外部DTD,案例名称:外部DTD 程序名称:8-14.DTD ,案例名称:外部DTD 程序名称:8-15.xml 张三 中国北京 ,Schema文档规则,虽然DTD胜任对XML文档结构的验证,但是它有很多局限。为此,微软提出了Schema的方案来改进DTD。Schema相对于DTD的明显好处是XML Schema文档本身也是XML文档,而不是像DTD一样使用另外语法。,案例名称:定义Schema 程序名称:8-16.xml ,案例名称:使用Schema 程序名称:8-17.xml hello ,XML规范中的字符集,常见的字符集有: ASCII字符集、ISO8859字符集、Uni

10、code字符集合、UCS字符集 常用的中文字符集:GB2312、GBK和Big5。,ASCII字符集,ASCII码的全称是American Standard Code for Information Interchange(美国标准信息交换码),它是一种单字节的7位二进制编码。 在ASCII码字符集中,每个数字,字母或特殊字符都对应于一个7位二进制数,这个7位二进制数是以一个字节(8位)来表示的(其中最高位为0)。从而定义了书写英语所需要的全部字符以及部分控制字符。,ISO 8859字符集,ASCII码在定义之初只是为了表示英语(更严格来说是美式英语),对于象、等其他语言或地区所需要的字符则没

11、有定义其表示方式。 随着计算机应用的扩展,人们对其他字符表示的需求越来越迫切。1987年,国际标准组织ISO(International Organization for Standardization)发布了字符集标准:ISO8859-1字符集。ISO8859-1通常也被叫做Latin-1字符集。Latin-1字符集在ASCII码的基础上增加了对西欧语言的支持。,Unicode字符集,Unicode是由美国各大电脑厂商所组成的Unicode协会创建的。其目的在于推广一个统一的编码方案,将世界上所有的常用文字都包含进去。它涵盖了美国、欧洲、中东、非洲、印度、亚洲和太平洋等地区的绝大多数语言。U

12、nicode在创建之初希望能够方便地交换、处理和显示多种文字,就象数学符号一样地通用。它希望能够解决使用多种字符标准的计算机国际化问题。,中文字符集,包括中文简体和繁体,常用的字符集有三种:GB2312、GBK和Big5。 GB码的全称是GB2312-80信息交换用汉字编码字符集 基本集,1980年发布,是中文信息处理的国家标准,在中国大陆及海外使用简体中文的地区(如新加坡等)是强制使用的唯一中文编码。P-Windows3.2和苹果OS就是以GB2312为基本汉字编码的,Windows 95/98则以GBK为基本汉字编码,但兼容支持GB2312。,GBK字符集,GBK编码是中国大陆制订的、等同

13、于UCS的新的中文编码扩展国家标准。GBK工作小组于1995年12月完成的GBK规范。该编码标准兼容GB2312,共收录了汉字21003个、符号883个,并提供了1894个造字码位,简、繁体字融于一库。,BIG5字符集,BIG5编码是由台湾制定的、目前在台湾、香港地区普遍使用的一种繁体汉字的编码标准,包括符号440个,一级汉字5401个、二级汉字7652个,共计13060个汉字。,UTF-8字符集,UTF是Unicode/UCS Transformation Format的缩写。由于Unicode/UCS 使用多字节表示一个字符,因此使用Unicode/UCS的英文文本文件比使用ASCII码或

14、Latin-1码的文件要大得多,因此出现了压缩版本的Unicode/UCS:UTF-8。,UTF-16字符集,UTF-16也是ISO/IEC 10646-1和Unicode的变形表示方式的一种。 它的目的是维持双八位的编码方式,同时也用一些特殊的双八位来表示非基本多文种平面(BMP)中的一些字符。这种用来表示非BMP字符的方法在Unicode中称作代理对机制。,在XML中使用HTML,浏览器对XML标记可以根据已经定义好的CSS或者XSL进行解析,也可以在XML文件中插入HTML标记或者JavaScript代码。,案例名称:使用HTML标记 程序名称:8-18.xml Tom male ,在X

15、ML中使用JavaScript代码,案例名称:使用JavaScript标记 程序名称:8-19.xml function test() alert(“Hello,“ + document.myform.txt1.value); ,.NET处理XML文件的命名空间,XML是.NET的重要组成部分,因此提供强大的XML文件的支持。 命名空间“System.Xml”专门处理XML相关文件;ADO.NET中的DataSet对象也提供了处理XML文件的方法。,System.Xml命名空间,表8-2 System.Xml常用类列表,DataSet的XML处理方法,在ASP.NET中读取XML,利用ASP.

16、NET读取一个XML文件有四种方式: 1、使用XML控件。2、使用DOM实现读取。3、使用DataSet对象载入文档。4、利用框架类读取XML文件。,方式一:使用XML控件,案例名称:使用XML控件 程序名称:8-20.aspx ,方式二:使用DOM技术,案例名称:使用DOM技术 程序名称:8-21.aspx void Page_Load(Object sender, EventArgs e) XmlDocument doc = new XmlDocument(); doc.Load(Server.MapPath(“8-01.xml“); xml1.Document = doc; ,方式三:使

17、用DataSet对象,案例名称:使用DataSet对象 程序名称:8-22.aspx void Page_Load(object sender, EventArgs e) DataSet objDataSet = new DataSet(); objDataSet.ReadXml(Server.MapPath(“8-10.xml“); dg.DataSource = objDataSet.Tables“教师“.DefaultView; dg.DataBind(); ,方式四:按文本方式读取,案例名称:按文本方式读取 程序名称:8-23.aspx ,在ASP.NET中创建XML文档,比较常用的方

18、法有3种: 1、利用DataSet创建。2、利用DOM对象创建。3、利用文本方式创建。,方式一:利用Dataset创建,案例名称:利用Dataset创建 程序名称:8-24.aspx void Page_Load(Object sender, EventArgs e) DataSet myds = new DataSet(); DataTable mydt = new DataTable(“Squares“); DataRow mydr; mydt.Columns.Add(new DataColumn(“数字“,typeof(Int32); mydt.Columns.Add(new DataC

19、olumn(“平方“,typeof(Int32); /定义主键/ mydt.PrimaryKey = new DataColumnmydt.Columns“数字“; for (int i = 0; i ,方式二:利用DOM对象创建,案例名称:利用DOM对象添加节点 程序名称:8-25.aspx void Page_Load(object sender, EventArgs e) XmlDocument xmldoc = new XmlDocument(); xmldoc.Load(Server.MapPath(“book1.xml“); XmlElement eleBook= xmldoc.C

20、reateElement(“book“); XmlAttribute attStyle = xmldoc.CreateAttribute (“style“); eleBook.SetAttributeNode(attStyle); eleBook.SetAttribute(“style“, “Good“); XmlNode root = xmldoc.FirstChild; root.AppendChild(eleBook); xmldoc.Save(Server.MapPath(“book2.xml“); output.Text = “添加成功!“; ,方式三:利用文本方式创建,案例名称:利

21、用文本方式创建 程序名称:8-26.aspx ,小结,本章主要介绍XML程序设计以及如何JSP访问XML文件的编程接口。本章需要了解XML的概念,理解XML的三种显示格式以及两种语法规则。了解字符集的概念以及在XML中使用HTML标记的方法。从应用的角度介绍在ASP.NET中如何操作XML文档。需要掌握如何使用System.XML名字空间下一些常用类和方法的使用。掌握使用DataSet对象操作XML文件。,本章习题,8-1. 简述XML和HTML的区别与联系。 8-2. XML文档由哪些部分组成?各有什么作用? 如何在XML文件中输出大于号? 8-3. XML文件如何调用CSS样式文件?如何调用XSL样式文件?如何使用XML数据岛技术? 8-4. 简述常用的三种中文字符集。 8-5 如何利用System.Xml命名控件操作XML文件?使用3种方法读取8-01.xml文件。(上机完成) 8-6 如何利用DataSet对象读写XML文件?(上机完成),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1