收藏 分享(赏)

Java_Web基础_XML.ppt

上传人:gsy285395 文档编号:4529163 上传时间:2019-01-02 格式:PPT 页数:44 大小:180.50KB
下载 相关 举报
Java_Web基础_XML.ppt_第1页
第1页 / 共44页
Java_Web基础_XML.ppt_第2页
第2页 / 共44页
Java_Web基础_XML.ppt_第3页
第3页 / 共44页
Java_Web基础_XML.ppt_第4页
第4页 / 共44页
Java_Web基础_XML.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

1、北京传智播客教育 ,XML基础,讲师:毕向东,北京传智播客教育 ,什么是XML,扩展性标识语言 Extensible Markup Language简写 标签可以自定义 XML源自于SGML SGML(Standard Generalized Markup Language标准通用标识语言) XML是简化的SGML 用于数据信息的描述,北京传智播客教育 ,XML与HTML,语言标记 html标记是固定标记 xml中的标记可以自由定义 代码的书写 html语言编写相对随意 xml语言编写有非常严格的规范 描述内容 html将数据和显示结合在一起,不方便对数据的操作xml将数据和显示相分离,只对数

2、据进行描述,北京传智播客教育 ,XML的好处,结构严谨规范性强 标准的数据交换文件,已用于通用的配置信息文件 结构简单,清晰,便于书写,增强阅读性 将数据进行结构化,让数据间具有明确的层次关系,北京传智播客教育 ,XML文档结构,zhangsan20xml文档是树形结构。 既然是树形就一样有节点的概念。,北京传智播客教育 ,XML语言组成,文档声明 格式: 写在xml文档的第一行 文档类型定义指定xml文档是用demo.dtd来定义文档类型 文档注释 与html相同 注释不可以嵌套 文档主体内容 自定义标记对数据进行结构描述,北京传智播客教育 ,XML文档主体内容,文档中只能有一个顶层元素(根

3、元素) 顶层元素中包含: 各种子元素 元素属性 元素文本内容 CDATA(character data字符数据区) 文档结构会通过树形结构体现出来,北京传智播客教育 ,举例,张三20李四23,北京传智播客教育 ,XML语法规则,所有XML标记都严格区分大小写 XML只能有一个顶层元素,其他元素都包含在顶层元素中 所有的标记都必须要结束,要么有单独的结束标签,要么在内部直接结束 所有的XML标记都必须合理嵌套,不允许出现交叉嵌套,北京传智播客教育 ,XML命名规则,所有标记的属性值必须用“ ”或 括起来 名字中可以包含字母、数字以及中文(需要在xml声明时指定encoding属性) 名字不能以数

4、字和“-”开头 名称不可以包含空格,冒号(:),北京传智播客教育 ,CDATA区域(字符数据区域),存放不想被解析的原始数据 将数据存放在中 示例:虽然CDATA区中出现了“ ,北京传智播客教育 ,XML中的特殊字符,在元素的文本中有些符号不可以直接出现,因为会出现解析错误。比如:“” 需要通过转义字符来标识,和html相同,示例: 泛型标识 tom&jerry,北京传智播客教育 ,XML文档的组成部分,XML声明 DOCTYPE声明 处理指令 元素 注释 CDATA 并不是每一个XML都需要所有的组成部分。,北京传智播客教育 ,XML文档综合示例,,namedisplay:block;col

5、or:blue; agedisplay:block;color:yellow; maildisplay:block;color:green; htmlcodedisplay:block;font-size:10px;,北京传智播客教育 ,XML文档的约束模式,什么是约束模式? XML因为是语法非常严格,所以具有well-formed(格式良好)的特点。但也因为标签的自由定义导致数据在逻辑上会出现一些问题,比如:性别就只能只有男,女两个值,为了避免出现其他不应该有的值,就需要对数据内容进行一些约束。这种约束也必须有自己的语法规则,规则多了就形成了约束模式语言,每一种语言都有自己的文件表现形式。常

6、见的约束模式文件:DTD(Document Type Definition)、XMLSchema 注意:校验类解析器(XML SPY)除了校验良好格式,还验证约束模式,而非校验类解析器值校验良好格式,IE就是非校验类解析器。,北京传智播客教育 ,DTD文件,文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。 DTD文件的好处: 让每一个 XML 文件都可以具备单独的格式描述。 也可以让一个组织都使用同一种格式描述。 还可以直接引用一个权威机构指定的格式描述。 Dreamweaver的HTML文档声明,北京传智播客教育 ,DTD文件示例,定义一个元素

7、格式: PCDATA(Parsed Character DATA)(被解析的字符数据),北京传智播客教育 ,DTD文件与XML文档的结合,如何给XML文档加上约束呢? 将DTD约束直接嵌套在xml文档中。 格式:引入外部的DTD文件到XML文档中,北京传智播客教育 ,将DTD约束直接嵌套在xml文档中,mike29bj,北京传智播客教育 ,引入外部的DTD文件到XML文档中, 文档类型名称:可以自定义,通常使用根节点名称 SYSTEM:表明XML遵循的是一个组织内部的约束。 示例:PUBLIC:表示XML遵循的是权威机构或特定行业提供的DTD文件。 DTD名称:用于标识该DTD文件,只有在PU

8、BLIC声明时才用到。 例:Dreamweaver创建HTML。,北京传智播客教育 ,DTD 文档元素定义,元素是 XML 文档的基本组成部分,在 XML 文档中使用的每个元素及其属性都要在 DTD 文件中进行定义 语法格式:示例:,北京传智播客教育 ,DTD 文档元素使用规则,元素的使用规则定义了元素中包含的组成部分,以及每种组成部分出现的次数,次序。 (#PCDATA)表示元素中嵌套的内容是普通文本字符串。 用 () 将元素中要嵌套的多个子元素括起来:(书名,作者,售价) EMPTY:元素中不包含任何子元素和普通文本字符串,这种情况用于定义 XML 文件中的空元素:例如,定义的元素形式为,

9、北京传智播客教育 ,DTD 文档元素使用规则,北京传智播客教育 ,DTD 文档元素使用规则,元素的各个组成成份的特点元素的使用规则中的各个组成成分用空白符分隔,他们的出现顺序没有严格要求:用逗号 , 分隔,它们在 XML 文档中的出现顺序必须与它们的排列顺序一致:用竖杠 | 分隔,它们在 XML 文档中只能出现它们之中的任何一个: ,北京传智播客教育 ,DTD 文档属性定义,语法格式:示例:#REQUIRED:必须设置该属性 #IMPLIED:可以设置也可以不设置 #FIXED:说明该属性的取值固定为一个默认值, XML应用: ,北京传智播客教育 ,属性类型,CDATA:指的是纯文本,即由字符

10、、符号组成的字符串 Enumerated:属性也可以被描述为一组可接受的取值的列表, XML文件中对属性的赋值将从这个列表中选取一个值。这 类属性属于枚举类型ENUMERATED,不过,关键字 ENUMERATED是不出现在Dtd定义中的。 ID:是用属性值的方式为文件中的某个元素定义唯一标识的方 法,由处理文件的程序或脚本语言使用。 IDREF:允许一个元素的属性使用文件中的另一个元素,方法就 是把那个元素的 ID标识值作为该属性的取值 ENTITY:将多内容文本或者一个文件用一个简称来标识。,北京传智播客教育 ,ENUMERATED,stu.xml zhangsanlisi预览结果:第二个

11、学生元素的id属性会自动加载male值。,北京传智播客教育 ,实体定义,实体:就是一个段文本或者一个文件。 引用实体:将一个实体用一个简称来标识,通过使用该简称而使用到一段文本或一个文件。 格式:引用方式: ,北京传智播客教育 ,引用实体示例,示例:,北京传智播客教育 ,XML Schema文件,和DTD一样,用于定义XML文档的约束模式 XML Schema提供了更丰富的语法结构 XML Schema符合XML的语法结构,使用更方便 能解析XML文档的编辑工具可以直接处理Schema文件 有替代DTD的趋势 Schema文件称为模式文档,文件的扩展名为.xsd。而采用Schema文档为约束模

12、式的XML文档成为实例文档。,北京传智播客教育 ,XML Schema文档示例,模式文档:xmlbook.xsd,北京传智播客教育 ,XML实例文档,JavaScript网页开发张孝祥28.00元,北京传智播客教育 ,名称空间(NameSpace),同一标识在不同的约束文件中的含义不同,比如标识在一个约束文档中被定义成考试,在另一个文档中被定义成化验,如果同时在一个XML文档中使用这两个约束文档,那么标识就会引起冲突,不明确到底代表那一个含义。 解决:通过命名空间就可以解决这个问题,其实就是在这个标识基础上在加上一个名称,以示区分。在使用时可以这样context这样就区分了test标识的含义。

13、 对于那个huayan是一个前缀,用来代表名称空间http:/的值可以是任意的,写成网址并不是要到该网址去,而是因为url是唯一性的,这样不会引起重复。,北京传智播客教育 ,名称空间的声明,名称空间声明就是在XML实例文档中为某个模式文档的名称空间指定一个临时的简写名称。为了方便的使用该空间。 名称空间声明格式: xmlns:前缀名称=“URI” 示例:JavaScript网页开发张孝祥28.00元象 “ it315:书架 ” 这种用冒号(:)把前缀与本地部分进行分隔的名称,称为QName(Qualified Name,限定名)是指即被限定在了某个名称空间中的名称。,北京传智播客教育 ,默认名

14、称空间,示例:JavaScript网页开发张孝祥28.00元默认命名空间的好处省去了前缀,简化书写,但也要明确合理的前缀有利于阅读。,北京传智播客教育 ,属性的名称空间,XML实例文档中通常只需要将元素限定于该模式文档的名称空间中,而不需要将该元素的属性限定于名称空间中。 示例:如果属性名称中有一个前缀部分,该属性将被限定在该前缀所指定的名称空间中。如果属性名称中没有前缀部分,那么该属性就不属于任何名称空间(比如值为了1的a属性)。属性不受默认名称空间的影响。 示例:,北京传智播客教育 ,使用名称空间引入XML Schema文档,JavaScript网页开发张孝祥28.00元,schemaLo

15、cation属性用来指定名称空间所对应的Schema文档的位置,该属性值中包含有两个部分,第一个部分就是名称空间的URI,第二个部分就是该名称空间所标识的XML Schema文件的位置或URL地址,这两个部分之间用空格分隔。,北京传智播客教育 ,使用名称空间引入多个XML Schema文档,JavaScript网页开发张孝祥28.00元,北京传智播客教育 ,不使用名称空间引入XML Schema文档,JavaScript网页开发张孝祥28.00元,北京传智播客教育 ,XML常见解析方式,DOM(Document Object Model) 文档对象模型,是w3c的标准,DOM处理XML文档是基

16、于将XML文档解析成树状模型,放入内存进行处理 SAX(Simple Api for Xml) SAX则是采用基于事件驱动的处理模式,它将XML文档转化成一系列的事件,由单独的事件处理器来决定如何处理 JDOM 基于Java语言的解析工具。 JAXP(Java API for XML Processing) SUN推出的一套处理XML文档的工具包。 DOM4J 基于Java语言的优秀的XML文档解析工具,也应用在JAXM(Java API for XML Messaging )中。重点讲解。,北京传智播客教育 ,XML文档的解析JAXP,JAXP 出现的原因就是为了方便在 Java 平台上使用

17、 XML JAXP 包括了如 DOM 和 SAX 在内的业界标准 API JAXP已集成在JavaSE的API中对象所在包javax.xml 和org.w3c.dom,北京传智播客教育 ,JAXP的基本使用,使用javax.xml.parsers中的对象 获取DocumentBuilderFactory 通过工厂获取DocumentBuilder 通过DocumentBuilder的parse方法获取Document对象,北京传智播客教育 ,JAXP的基本使用,获取根元素 Document对象的getDocumentElement(); 获取其他元素 getElementsByTagName(“元素名称”); getChildNodes();使用该方法需要注意#text 获取属性 element.getAttribute(“属性名”);,北京传智播客教育 ,JAXP的基本使用,创建元素 使用Document的createElement(“元素名称”); 创建文本节点 使用Document的createTextNode(“文本内容”); 给元素设置属性 element.setAttribute(“属性名”,”属性值”); 添加子元素 element.appendChild(childElement);,

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

当前位置:首页 > 网络科技 > Java

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报