《XML相关知识点总结.doc》由会员分享,可在线阅读,更多相关《XML相关知识点总结.doc(15页珍藏版)》请在金锄头文库上搜索。
1、XML相关知识点总结-XML简介标记语言介绍1. 为什么需要标记? 标注显示重点有用信息 2. 为什么需要标记语言? 方便程序来获取重点的信息 3. 如何定制标记语言? 定义标准,用来描述什么是有效地标记 描述标准,用来描述每个标记的具体含义 4. 标记语言的定义 标记语言,也称置标语言,是一种将文本(Text)以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码。与文本相关的其他信息(包括例如文本的结构和表示信息等)与原来的文本结合在一起,但是使用标记(markup)进行标识XML可扩展标记语言简洁1. XML的定义: XML的全称为 eXtensible Mark
2、up Language可扩展标记语言 2. 特点: 支持自定义标记 语法严格,风格统一 数据内容与显示形式相分离 具有自我描述能力 具有保值性 3. XML与HTML的比较 比较内容HTMLXML可扩展性不具有扩展性是元标记语言,可用于定义新的标记语言,具有可扩展性侧重点侧重于表现信息侧重于描述信息语法要求不要求标记的嵌套,配对,以及标记之间的顺序严格要求嵌套,配对,和遵守DTD的树形结构可读性,维护性难于阅读和维护结构清晰,便于阅读和维护数据和显示内容描述和数据显示融为一体内容描述与数据显示相分离保值性不具有保值性具有保值性XML的应用1. 在AJAX中使用XML来回串数据 2. 使用XML
3、存储少量的数据 3. 使用XML作为表现层 4. 使用XML作为数据传输的中间格式 5. 使用XMl作为配置文件(Java对XML目前的主要应用就是用来做配置文件) XML的相关技术1. 文档描述,验证和约束技术DTD/Schema 2. 编程接口DOM/SAX 3. 文档转换技术XSL 4. 数据查询技术XPath 5. 数据连接技术XLink/XPointer XML的语法1. XML的声明:一般是XML文档的第一行 version-文档符合XML1.0规范 encoding-文档字符编码,默认使用 UTF-8 standlalone-文档定义是否在一个文件内 2. 样式处理指令xml-s
4、tylesheet,该指令必须出现在序言部分,在根元素之前 3. 根元素 每个XML文档必须有且仅有一个根元素 根元素是一个完全包括文档中其他元素的元素 根元素的起始标记要放在其他 元素的起始标记之前 根元素的结束标记要放在其他元素的结束标记之后 4. CDATA标记-用于把整段文本解释为纯字符数据而不是标记的情况 XML相关知识点总结-DTD简介我们把符合XML语法的规则的文档成为是正确的XML文档,而把符合DTD规则的文档称为是有意义的XML文档DTD的定义DTD的全称为Document Type Definition-文档类型定义。它是用来描述XML文档的结构的,一个DTD文档包括以下结
5、构: 1. 元素(Element)的定义规则 2. 元素之间的关系规则 3. 属性(Attribute)的定义规则 DTD的作用1. DTD可以描述XML文件的格式 2. 不同组织的人可以使用同一个DTD来交换数据 3. 应用程序可以使用一个标准的 DTD来检验从外部接收来的XML数据是否有效 4. 还可以使用DTD来检验自己的XML数据 DTD的引用1. 内部DTD文档- 2. 外部DTD文档- 3. 内部和外部DTD文档结合使用- DTD元素的定义常用的元素描述信息: EMPTY-该元素不包含子元素和文本,但可以有属性(即空元素) ANY-该元素可以包含任何在DTD中定义的元素内容 #PC
6、DATA-可以在其中包含任何数据,但是不能包含子元素 纯元素类型-只包含子元素,并且这些子元素外没有文本 混合类型-包含子元素和文本数据的混合体 DTD属性的定义常用的元素属性类型: CDATA-一般字符 NMTOKEN-是CDATA的一个子集,属性值必须是英文字母,数字,句号,破折号,下划线或者冒号(不能是中文) ID-表明该属性的取值必须是唯一的 #REQUIRED-该属性的值不为空 #IMPLIED-该属性的值是可选的 #FIXED -该属性值必须为指定的固定值 DEFAULT Value-为属性指定 一个默认值0 DTD与XMLDTD是用来定义XML的文档结构的,但是它本身并不符合XM
7、L语法规则(SCHEMA与DTD 类似,但是它符合XML语法规范)SCHEMA简介 XML SCHEMA是W3c的一个规范,用于定义xml文件,以改善DTD的一个子集 对DTD进行了许多改进 支持广泛的数据类型 支持其他功能,如开放内容模型和命名空间集成 SCHEMA的特性 基于XML语法 可以用处理XML文档的工具来处理 大大扩充了数据类型,可以自定义新的数据类型 支持元素的继承 支持属性组 XML相关知识点总结-XML的解析方式JavaScript解析XML所有的现代浏览器都内置了由于读取和操作XML的XML解析器。解析器把XML读入内存,并把它转换为可以被JavaScript访问的XML
8、 DOM对象。1. IE的加载方式 xmlDoc = new ActiveXObject(Microsoft.XMLDOM);xmlDoc.async = false;xmlDoc.load(books.xml); 加载XML文档/xmlDoc.laodXML(txt) 加载字符串代码解释: 第一行:创建空的微软XML文档对象 第二行:关闭异步加载,确保在文档加载完成之前解析器不会执行JavaScript脚本 第三行:告知解析器加载名为”books.xml“的文档 2. 其他浏览器的加载方式 在Firefox和其他浏览器中的加载方式xmlDoc = document.implementatio
9、n.createDocument(,null);xmlDoc.async=false; /含义与上边相同xmlDoc.laod(books.xml); /加载XML文档parser = new DOMparser(); /字符串对象xmlDoc=parser.parseFromString(txt,text/xml); /加载字符串对象3. 通用方法 try xmlDoc=new ActiveXObject(Microsoft.XMLDOM); /Internet Explorer catch(e) try xmlDoc=document.implementation.createDocume
10、nt(,null); /Firefox, Mozilla, Opera, etc. catch(e) alert(e.message)try xmlDoc.async=false;XML在AJAX中的应用xml作为数据的回传格式在Ajax中使用。文本,xml与JSON作为数据回传格式的比较:文本XMLJSON数据描述能力弱强较强数据量小大小生成该数据格式的复杂度简单较复杂简单JS解析数据的复杂度简单一般简单格式的扩展性弱强强能够校验数据的正确性不能能不能安全性安全安全不安全是否能处理转义字符不能能能Java解析XML解析方式XML在不同的语言里的解析方式是一样的,只不过是实现的语法不同而已。基
11、本的解析方式有两种:一种是SAX(Simple API for XML),另一种是DOM(Document Object Model)。1. SAX解析方式 基于事件驱动的XML处理技术,使用SAX解析XML时,程序从XML文档的头部开始逐字逐句的读取,在此过程中触发事件(文档尅是,文档结束等等事件),再有应用程序对XML文档进行处理。2. DOM解析方式 DOM解析方式,吧XML文档里的元素,文本,属性当成一个个节点来对待,组成一棵DOM树,其操作与操作DOM类似。两种解析方式的比较:解析方式优点缺点SAX无需将整个文档加载到内存,减少内存消耗不能随机访问XML文档不支持在原地修改XML文档
12、不支持命名空间作用域DOM丰富的API集合可用于轻松导航整棵树加载到内存,允许对XML文档的 随机访问 整个XML文档必须一次解析完将整棵树加载到内存成本比较高解析组件Java有丰富的组件对XML进行操作,常见的有四种方式:JAXP,JDOM,DOM4J和JAXB。1.标记语言1.1简介 标记:显示获取重点有用的信息 标记语言:方便应用程序获取重点有用的信息 制定标记语言:我们必须有一个标准,用它来描述什么是有效的标记。如html中的我们还要有一个标准描述每个标记的具体含义。 如html中的表示加粗字体 1.2标记语言发展史2.XML2.1Html缺陷 不支持标记的扩展,只能使用预先定义的标记
13、 没有具体规定它们应该如何在浏览器中显示,相同的标记在不同浏览器中显示的风格可能不同 数据内容与数据显示的方式相混合,很难被其他应用程序分析使用 html(内容) css(显示风格数据) javaScript(行为) 难于维护 数据没有自我描述性,比如Apple是苹果还是电脑 2.2XML简介eXtensible Markup Language可扩展标记语言 XML由XML工作组开发,此工作组由World Wide Web Consortium(W3C)在1996年主持成立。 W3C创建于1994年10月,为了让Web发挥它的最大潜力,联盟通过开发公共的协议促进Web的发展,并保证Web之间的相互联系。2.3 XML特点 支持自定义的标记 语法严格,显示风格统一 数据内容与显示形式相分离 具有自我描述的能力 具有保值性 2.4XML与HTML XML不是HTML的替代品,XML和HTML是两种不同用途的语言 XML是被设计用来描