- 1、本文档共49页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
山东师范大学信息管理学院 王红 王红 8.1 XML解析基础 解析是读取文档并分解为元素的过程 XML处理器(通常称为解析器) Web 应用程序的基本构建快 解析 XML 并为应用程序提供其所需的信息 解析器的类型 进行验证的解析器 检查 XML 文档的有效性和格式规范 不进行验证的解析器 检查 XML 文档的格式规范 支持DOM的解析器(W3C的官方标准 ) 支持SAX的解析器(事实上的工业标准 ) 8.1 XML解析基础 XML 软件包支持的 API: 用于 XML 的简单 API(SAX) 文档对象模型 (DOM) 定义用于说明 DOM 重要区域的 API 构建于 DOM 顶层的 API 8.1 XML解析基础 可用的 XML 软件包: Sun 公司的 Java Project X 包 IBM 公司的 XML4J v2 包 Oracle 公司的 v2 XML 包 James Clark 的 XP 解析器 8.1 XML解析基础 XML解析器包 8.1 XML解析基础 XML文档的处理过程 解析器检查 XML 文档的有效性和格式规范 创建解析树并传递给呈现代理程序 呈现代理程序显示解析树 解析器创建一系列对象,显示与 XML 文档关联的样式表 8.1 XML解析基础 8.1.2 文档对象模型(DOM) 定义一组 Java 接口 基于对象 与语言和平台无关 将 XML 文档表示为树 在内存中解析和存储 XML 文档 允许随机访问文档的不同部分 8.1.2 文档对象模型(DOM) DOM适用的情形 在结构上修改 XML 文档时 在内存中与其他应用程序共享文档时 DOM的缺点 须将整个文档存储在内存中 8.1.2 文档对象模型(DOM) 文档对象模型 通过解析XML文档,为XML文档在逻辑上建立一个树模型,树的节点是一个个对象,通过存取这些对象就能够存取XML文档的内容。 8.1.2 文档对象模型(DOM) department.xml ?xml version=1.0? Department Student Name约瑟夫/Name E-mailjoe@/E-mail /Student Student Name玛丽/Name E-mailmary@/E-mail /Student /Department 8.1.2 文档对象模型(DOM) 8.1.2 文档对象模型(DOM) 树模型 每个项目都表示一个节点 每个终端项目都表示一个叶节点 直接上级节点表示父节点 任何上级节点都表示祖先节点 从树的一个部分可以到达树的任何其他部分 8.1.2 文档对象模型(DOM) 一切都是节点(对象) Node对象:DOM结构中最为基本的对象 Document对象:代表整个XML的文档 NodeList对象:包含一个或者多个Node的列表 Element对象:代表XML文档中的标签元素 8.1.3 XML简单程序编程接口(SAX) SAX 用于 XML 的简单 API 基于事件 使用回调机制将事件通知应用程序 8.1.3 XML简单程序编程接口(SAX) SAX是事件驱动的,文档的读入过程就是SAX的解析过程。 在读入的过程中,遇到不同的项目,解析器会调用不同的处理方法。 8.1.3 XML简单程序编程接口(SAX) SAX 应用包括: 应用程序 创建解析器 创建文档处理程序 解析器 将重要事件通知给文档处理程序 文档处理程序 处理通知 8.1.3 XML简单程序编程接口(SAX) 8.1.3 XML简单程序编程接口(SAX) 用于 XML 解析的 Java API javax.xml.parsers包 易于安装且快速 更具一致性 使用工厂设计模式创建解析器 SAX中包含3个接口:ContentHandle(重要), DTDHandler, ErrorHandler.主要方法:docsax.txt 8.1.3 XML简单程序编程接口(SAX) 8.1.3 XML简单程序编程接口(SAX) 如: ?xml version=“1.0”? student departmentscience/department /student 8.1.3 XML简单程序编程接口(SAX) SAXParser 类的常用方法 8.1.4 DOM解析器的高级功能 使用 Transformer 类写入输出结果 转换步骤: 创建文档对象 创建 TransformerFactory的实例 使用 TransformerFactory 创建 Transformer的实例 使用 transform()方法将源树处理至输出结果中 8.1.4 DOM解析器的高级功能 Transform类的transform()方
文档评论(0)