第02讲 编写较复杂的XML文档_第1页
第02讲 编写较复杂的XML文档_第2页
第02讲 编写较复杂的XML文档_第3页
第02讲 编写较复杂的XML文档_第4页
第02讲 编写较复杂的XML文档_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

第02讲编写较复杂的XML文档XML应用开发内容学会编写XML属性学会在XML中使用预定义实体、CDATA了解XML命名空间任务任务1:编写XML属性任务2:使用预定义实体任务3:使用字符数据段任务4:使用XML命名空间任务1:编写XML的属性<?xmlversion="1.0"encoding="UTF-8"?><商品>

<名称>联想笔记本</名称>

<价格币种=“人民币“单位="千元"

>4.3</价格>

<出厂日期="2011-10-8"/></商品>XML元素可以在开始标签中包含属性,类似HTML。属性(Attribute)提供关于元素的额外(附加)信息。案例1-1:非空元素和空元素的属性属性规则属性规则属性可以在起始标签和处理指令里声明多个属性之间使用空格分隔每条属性包含属性名和属性值两个部分同一元素中不能有重名的属性不同元素中属性名可以重名属性名不可以包含空格赋值时可以使用单引号或双引号<treespecies ="Salix">Willow</tree>属性名属性值任务1:编写XML的属性任务1:编写XML的属性XML属性必须加引号,单引号和双引号均可使用。描述一个人的性别:<personsex="female“>

或<personsex='female'>注意:如果属性值本身包含双引号,那么有必要使用单引号包围它。<gangstername='George"Shotgun"Ziegler‘/>任务1:编写XML的属性XML属性的常见错误<BookID=1ID=2>1</Book><AuthorFirstName=“Tom”>…</Author>属性重名且未加引号属性名中间有空格任务1:编写XML的属性属性通常提供不属于数据组成部分的信息<filetype="gif">computer.gif</file>在上面的例子中,文件类型与数据无关,但是对需要处理这个元素的软件来说却很重要。任务1:编写XML的属性案例1-2:向元素分配ID,ID只是标识,不是数据<?xmlversion="1.0"encoding="UTF-8"?><message> <noteid="501"> <to>小布什</to> <from>奥巴马</from> <heading>善意的提醒</heading> <body>乔治!您离开白宫前,我们做个交接!</body> </note> <noteid="502"> <to>奥巴马</to> <from>小布什</from> <heading>回复:善意的提醒</heading> <body>哦!希望您做一个优秀的白宫主人!</body> </note></message>任务1:编写XML的属性避免使用XML属性因使用属性而引起的一些问题:属性无法包含多重的值(元素可以)属性无法描述树结构(元素可以)属性不易扩展(为未来的变化)属性难以阅读和维护请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。任务1:编写XML的属性选择XML元素还是属性元素用于封装数据,而属性通常用于提供有关元素的伴随信息,而不是封装原始数据本身当信息需要简单类型的数据并且存在以下情况时,使用属性--信息需要默认值或固定值--信息需要的数据是现有元素的元数据--如果XML文件的大小很重要,那么属性所需的字节数往往比元素要少任务1:编写XML的属性选择XML元素还是属性对于可能在数目上发生变化的特性,应该使用子元素,比如某本书籍可能有多个作者:这种方法修改了元数据的内容,即属性名称本身,可能会影响到已经编写的用于解析该文档的应用程序。所以,使用子元素的方案在可扩展性方面更好。<book>

<author>tomhanks</author>

<author>mikejimmy</author> ......</book>若使用属性:<bookauthor1="tomhanks"author2="mikejimmy">...</book>任务1:编写XML的属性元素与属性的另一点区别:顺序一个元素的子元素的顺序是非常重要的,比如在前面的例子中,第一个author元素可能表示该书籍的第一作者,而第二个author元素表示第二作者,所以颠倒顺序后含义完全不同。对于一个元素所有的属性,它们不分先后顺序,因为它们之间可以通过名称相互区别。课堂训练1训练1-1:编写一个XML文档存储下面表格中的音乐,分配一个ID属性标识每首歌曲。歌曲演唱唱片集格式文件大小身披彩衣的姑娘刀郎身披彩衣的姑娘mp35.45MB理想刀郎身披彩衣的姑娘mp35.74MB爱是你我刀郎/云朵/王汉仪刀郎-《谢谢你》ape27.0MB任务2:使用预定义实体案例2-1:显示表达式“ifx<yandy>zthenx=y-z”

<?xmlversion="1.0"encoding="UTF-8"?><message>ifx<yandy>zthenx=y-z</message><?xmlversion="1.0"encoding="UTF-8"?><message>ifx<yandy>zthenx=y-z</message>下面的XML能被解析器正确解析吗?正确写法,使用预定义实体任务2:使用预定义实体所有XML文档中的文本均会被解析器解析。某些XML字符(保留字符)必须被替换为实体引用(entityreference)。XML1.0规范中定义了五种预定义实体:而除此以外的的其他自定义实体,必须在使用前进行声明。字符预定义实体<<>>&&''""任务2:使用预定义实体课堂训练2functionmatchwo(a,b){if(a<b&&a<0)then{ return1;}else{ return0;}}训练2-1:将下列函数存储为XML文件,标记<script>。任务3:使用字符数据段预定义实体为某些保留字符(<和&)提供了相应的替代使用方式,但使用起来不太方便,同时会降低原始XML文档的可读性。

XML1.0规范为此提供了另一种解决方案,即CDATA段。假设XML文档的某块文本内容中包含大量的特殊字符,那么可以将整个文本块的内容放入到一个CDATA段中(<![CDATA[......]]>)。使用格式:<![CDATA[文本内容]]>任务3:使用字符数据段字符数据段(CDATA)

指的是不应由XML解析器进行解析的文本数据(UnparsedCharacterData)。CDATA部分中的所有内容都会被解析器忽略(即,照原样输出)。同理,CDATA段的文本内容中不能直接出现]]>任务3:使用字符数据段案例3-1:使用CDATA显示表达式“ifx<yandy>zthenx=y-z”

<?xmlversion="1.0"encoding="UTF-8"?><message><![CDATA[ ifx<yandy>zthenx=y-Z

]]></message>课堂训练3使用CDATA将下列函数存储为XML文件,标记<script>。functionmatchwo(a,b){if(a<b&&a<0)then{ return1;}else{ return0;}}任务4:使用XML命名空间1、携带着某个表格的信息<table><tr><td>苹果</td><td>香蕉</td></tr></table>2、携带有关桌子的信息<table><name>咖啡桌</name><width>80</width><length>120</length></table>命名冲突:在XML中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。XML解析器无法确定如何处理这类冲突。命名空间的定义为命名空间定义的前缀(prefix-name)用来限定XML数据中的元素和属性名称与该命名空间URI的关联任务4:使用XML命名空间xmlns:prefix-name="namespaceURI"命名空间的前缀名称是以字母或下划线(_)开头的、不包含空白字符和冒号(:)的字符串,通常规定不应该使用XML中的保留字,比如xml、xsl等等。xmlns是专门用于声明命名空间的关键字。XMLNamespace(xmlns)属性解决命名冲突XML命名空间属性放置于元素的开始标签之中,并使用以下的语法:任务4:使用XML命名空间<?xmlversion="1.0"encoding="UTF-8"?><List><h:tablexmlns:h="/TR/html4/"><h:tr><h:td>苹果</h:td><h:td>香蕉</h:td></h:tr></h:table><f:tablexmlns:f="http://MyURL>"><f:name>咖啡桌Table</f:name><f:width>80</f:width><f:length>120</f:length></f:table></List>案例4-1:使用不同的命名空间定义不同的<table>元素注释:通常使用URL地址标识不同命名空间。用于标识命名空间的URL地址不会被解析器用于查找信息。其惟一的作用是赋予命名空间一个惟一的名称,有些公司会在所指向的网页中包含关于命名空间的一些信息。任务4:使用XML命名空间使用默认命名空间(DefaultNamespaces)为元素定义默认的命名空间,可以省去在所有的子元素中使用前缀的工作。语法格式:xmlns="namespaceURI"<h:tablexmlns:h="/TR/html4/"><h:tr><h:td>苹果</h:td><h:td>香蕉</h:td></h:tr></h:table><tablexmlns="/TR/html4/"><tr><td>苹果</td><td>香蕉</td></tr></table>训练4-

温馨提示

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

评论

0/150

提交评论