ImageVerifierCode 换一换
你正在下载:

XML.docx

[预览]
格式:DOCX , 页数:20 ,大小:22.55KB ,
资源ID:10447493      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10447493.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(XML.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

XML.docx

1、XML一、XML 的背景XML 第一天2007 年 5 月 25 日1) XML 代表扩展的标记语言(eXtensible Markup Language);2) XML 由 W3C 联盟发展维护;3) XML 是一种元语言,可以用来定义其它标签语言;4) XML 没有定义任何标记,它提供了一种工具定义标记以及它们之间的结构关系;5) XML 是一种用于结构化文本交换的标记语言;6) XML 代表了内容的结构也代表了内容本身;7) XML 继承自 SGML(标准标记语言)。SGML 的前身 GML 由 IB M 在 1960 年发明,用于描述设备无关的文本8) XML 是 SGML 的子语言,

2、由 SGML 简化而来,起初的目的是为 Web 的结构文档提供服务。9) W3C 组织在 1998 年 2 月 10 日发布 XML1.0 版,第二个版本发布于 2000 年 10 月 9 日。10)XML 是分层的树形结构的自解释的一种可扩展的标记语言。liucy|开始标记 | 结束标记描述的数据在标记语言中,标记是可以嵌套的XML 和 HTML 的关系1) 事实上,HTML 和 XML 不能够进行比较的。因为 XML 是一种元语言,而 HTML 是一种定义好的标记语言。XML 是描述数据的语言,HTML 是描是数据外观的语言。2) HTML 有一套确定的标记。在 W3C 标准规范中定义了

3、HTML 标记的含义并由部分浏览器实现了。3) HTML 标记非常适合描述人类易读的可视化文本。4) HTML 定义了许多表现指令用以优化在浏览器中的显示。5) 在 HTML 标记中,数据固有的结构丢失了。6) HTML 没有维持数据类型信息的完整性、约束、或实体间的其它关系,而 XML 提供了这些特征。 -声明这是一个 xml 文件,默认编码方式 UTF-8 -跟标记,最外层只能有一个跟标记,即只能有一个树根Liucy30Huxz20对 XML 文件的要求,格式良好(符合 XML 的语法要求) ,有效的XML;XML 的用途,数据传输的中间件,做为通用文档格式1,数据交换2,web 服务3,

4、内容管理4,web 集成5,充当配置文件格式良好的 XML 文件的规范XML 文档是一种严格规范的语言,必须按照规范来写。XML 文档的框架结构XML 文档=序言+元素+杂项(可选)1)序言序言=(XML 声明)+(杂项)+(文档类型声明)XML 声明 如:文档类型声明:规定元素的结构和属性列表的取值如:2)元素空元素 非空元素 内容内容=(子元素|字符数据|字符数据段|引用|处理指令|注释)*字符数据字符数据中,不能含有&,需要采用实体引用的方式3)杂项字符数据段 引用 处理指令 XML 为其它应用程序准备的接口。 注释 空白符指空格、回车等XML 文件事例.XML 文件的写法xml 文档是

5、有标签和标签中的内容组成的,标签和标签中的内容合成为元素标签名可以由字母、数字、_、.,只可以以字母,下划线开头非空元素(起始标签)aaa(内容)(结束标签)空元素格式良好的 XML 文档的规范1)文档声明位于文件的开头2)文档中只能定义一个唯一的根元素(根元素是在文档声明之后的最外层的元素)3)标签必须闭合,且不能交叉,有元素的起始标签,就必须有其结束标签(空元素除外)4)层层嵌套,每一对标签总是出于另一对标签的内或和其处于同一层,不能交叉(根元素chuw)5)大小写敏感,起始标签和结束标签的名字要一致6)属性值必须用引号引起来7)注意特殊字符,使用时需要使用转义字符。注意:1.第一行一定要

6、写2.xml 文件是由元素和元素的内容以及属性组成的,一个 xml 文件中只能有一个根元素,标签和标签的内容加在一起叫作一个元素。xml 是大小写敏感的,只能以字母或下划线开头。字符转义 代表 代表 , 代表双引号,& 代表 & ,' 代表单引号字符数据段,不解析最内层中的部分不必使用转义,其中内容会直接输出。练习:写一个 xml 文件,内容是自己的简历要求:必须要写明年龄,英语水平&2.DTD(结构定义)DTD 文档是用于规定 XML 文档的结构。只有结构符合所引用的 DTD 文件的 XML 文件才能称之为有效的 XML 文件。DTD(文档类型定义)!DOCTYPE 定义

7、DTD 文件名!ELEMENT 定义元素中可用的数据类型#PCDATA 可解析字符串。1)DTD 的调用方式一:调用内部文档类型定义。!DOCTYPE studinfo注意点:(1) studinfo 与(#PCDA TA)有空格(2) 文档类型名与根元素名必须一致方式二:调用外部文档类型定义,需要写一个 DTD 文档注意点:(1)standalone=no(2)注意 dtd 文件的路径2)DTD 的结构是否有 DTD 文件如果文档是一个有效的 XML 文档(见上一章),那么文档一定要有相应 DTD 文件,并且严格遵守 DTD 文件制定的规范。DTD 文件的声明语句紧跟在 XML 声明语句后面

8、, 格式如下:其中:!DOCTYPE是指你要定义一个 DOCTYPE;type-of-doc 是文档类型的名称,由你自己定义,通常于 DTD 文件名相同;SYSTEM/PUB LIC这两个参数只用其一。SYSTEM 是指文档使用的私有 DTD 文件的网址,而 PUB LIC 则指文档调用一个公用的 DTD 文件的网址。PUB LIC 后面跟正式公用标识符和 dtd 的 URLdtd-name 就是 DTD 文件的网址和名称。所有 DTD 文件的后缀名为.dtd。我们还是用上面的例子,应该写成这样:dtd 文件中定义语法: 根标记,只能是文本,并且不能有子标记 Root 标记下有一个 A 的子标

9、记,不能有文本内容 Root 标记下有一个或多个 A 的子标记, 没有这个子标记不行,不能有文本内容 Root 标记下有 0 n 个 A 的子标记,不能有文本内容 Root 标记下有一个或零个 A 的子标记,不能有文本内容 Root 标记下有一个 A 的子标记和一个 B 字标记,要先有 A,后有 B Root 标记下有一个 A 的子标记或者一个 B 字标记 Root 标记必须是空的,换行也不行定义属性的约束属性名CDATA 属性是文本内容enumerated 写一个枚举,把枚举值列出来NMTOKEN 文本内容中的自负取值与标记命名规则一样,内容只能是字母,数字,下划线,连字符NMTOKENS

10、复数情况,用空格分隔ID 是属性的类型,属性值必须唯一IDREF 表示属性的取值必须是文档范围中已经存在的 ID 属性的值, 必须引用某个ID 属性的值IDREFS 复数情况,用空格分隔属性默认形式#REQUIRED 该属性必须有,但是没有默认值#IMPLIED 属性可有可没有,也没有默认值attribute-value 用“”引起来#FIXED 用#FIXED “”形式,并且是固定值,属性的值必须是引号中的内容实体声明实体:存储了任意符合规则的 xml 文档单元片断。1、内部通用实体定义格式 引用格式 &实体名;2、外部通用实体定义格式 引用格式 &实体名;事例:!DOCTYPE studi

11、nfozhangshan20beijing haidian&schoolinfo;XML 第二天一、NameSpace(命名空间)2007 年 5 月 28 日namespace 是为了解决 XML 文档中的命名冲突问题的。DTD 不支持命名空间,解析器无法测试命名空间。1、作用:解决 XML 文档中命名冲突的问题,即将XML 文档与引用 URI 标识的名域相结合,来限定其中的元素和属性名。示例:t1mans1girl2、名域的声明(1)直接定义xmlns:名域前缀=名域的 URI(唯一性)类比:名字与身份证名域的使用,名域前缀:需要限定的元素名示例:teacher:teacher xmlns

12、:teacher=xmlns:student=zhangshanmanstu1girl(2)缺省定义xmlns=名域的 URI- 在文档的默认名称空间中teacher xmlns=xmlns:student=zhangshanmanstu1girl3、名域的使用(1)用名域限定元素teacher:teacher xmlns:teacher=xmlns:student=zhangshanmanstu1girl(2)用名域限定属性teacher:teacher xmlns:teacher=xmlns:student=zhangshanmancaoyang,no1stu1girlhaidian,no

13、24、名域的作用范围名域能够把声明它的元素和该元素的所有子元素关联起来, 除非它们被其他的名域声明所覆盖。局部优先两个标志是否属于同一个命名空间是由 URI 决定的,跟前缀没有关系若定义了一个无前缀的命名空间,那么那些无前缀的标签就属于这个命名空间了二、XML 文档的解析DOM (文档对象模型)Document Object ModleSAX (Sample API for XML)都是 w3c 定义的标准默认使用 Apache 提供的 Xerces 实现采用树状分析,进行建模1、Dom为 XML 文档的已解析版本定义了一组接口。解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以

14、使用 DOM 接口来操作这个树结构。优点:整个文档树在内存中,便于操作;支持删除、修改、重新排列等多种功能;缺点:将整个文档调入内存(包括无用的节点),浪费时间和空间;使用场合:一旦解析了文档还需多次访问这些数据;硬件资源充足(内存、CPU)DOM 解析是将整个的 XML 文档元素结构读入内存,由根元素向下形成子元素分级树状关系。DOM 的解析DocumentB uilderFactory factory = DocumentB uilderFactory.newInstance();方法模式DocumentB uilder builder = factory.newDocumentB uil

15、der();Document document = builder.parse(name);- 运用的工厂以上三行代码,使用来生成 Document 对象的,Document 对象就代表了读入内存后结构化的 XML 文档。使用 Document 对象的 getDocumentElement()方法获得子节点,可以通过不断的迭代便利所有节点,这些节点就代表了元素,从根元素开始一直到最内层的子元素。getElementsB yTagName(String tagname) 这个方法可以通过元素的名来或得该元素内层元素,也就是或得了这个节点的所有子节点(NodeList)NodeList 的方法 g

16、etLength()(列表中的节点数) ,通过循环使用 Node item(int index) (返回集合中的第 index 个项)方法,来获得每个子节点。String.trim(); 去处空格,制表符,换行标记DOM 解析的其他方法请参阅 JAVA API 文档。 (org.w3c.dom2、SAXjavax.xml.parsers)SAX:事件机制驱动。在遇到相应的节点时,会发出一个事件,当解析器发现元素开始、元素结束、文本、文档的开始或结束等时,发送事件,程序员编写响应这些事件的代码,保存数据。优点:不用事先调入整个文档,占用资源少;SAX 解析器代码比 DOM 解析器代码小,适于 A

17、pplet,下载缺点:不是持久的;事件过后,若没保存数据,那么数据就丢了,比较消耗时间;只能顺序处理,不能选择读取。不支持文档的创建和修改。无状态性;从事件中只能得到文本,但不知该文本属于哪个元素;使用场合:Applet;只需 XML 文档的少量内容,很少回头访问;机器内存少SAX 处理流程UNIXcolor分析这个代码片断的 SAX 处理器一般情况下将产生以下事件:Start documentStart element (samples)Characters (white space)Start element (server)Characters (UNIX)End element (se

18、rver)Characters (white space)Start element (monitor)Characters (color)End element (monitor)Characters (white space)End element (samples)SAX API 允许开发人员捕捉这些事件并对它们作出反应。SAX 处理涉及以下步骤:创建一个事件处理程序。创建 SAX 解析器。向解析器分配事件处理程序。解析文档,同时向事件处理程序发送每个事件。要实现 SAX 解析 XML 文档,有两种方法,XMLReader 和 XMLReaderFactoryXMLReader read

19、=XMLReaderFactory.createXMLReader();生成 XMLReader 对象,使用 XMLReader 对象的方法 parse(File f,ContentHandler handler),ContentHandler 是一个定义好事件处理方法的接口,DTDHandler ,EntityResolver ,ErrorHandler 这三个接口和 ContentHandler 接口相同,但是其中定义的是其他事件处理方法,一般只是实现 ContentHandler 接口。使用 SAX 解析 XML 文档,需要先有 SAXParserFactory 对象,他的对象是通过自身

20、的静态方法 newInstance(),然后再通过 SAXParserFactory 对象来创建 SAXParser 对象,使用 SAXParser 对象的parse(File f,DefaultHandler handler),DefaultHandler 是用来处理解析时发出的事件的类,就可以进行解析。DefaultHandler 实现了 ContentHandler, DTDHandler ,EntityResolver , ErrorHandler,四个接口,但是只给出了空实现,便于使用者覆盖相应的方法。SAX 解析的其他方法请参阅org.xml.sax.helpers)JAVA API 文档。( javax.xml.p

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1