XML编程 重点讲义备忘 3.doc_第1页
XML编程 重点讲义备忘 3.doc_第2页
XML编程 重点讲义备忘 3.doc_第3页
XML编程 重点讲义备忘 3.doc_第4页
XML编程 重点讲义备忘 3.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

一 解析器的工作是什么XML解析器是读取XML文档并分析其结构的代码一般而言使用解析器需要以下步骤l 创建一个解析器对象l 使解析器指向我们的XML文档l 处理结果 读取元素(属性) 写入元素(属性) 修改元素(属性)二 常用的四种解析器l Dom解析器l Sax解析器l JDom解析器l Dom4j解析器三 Dom 解析器1 解析原理DOM解析器解析一个XML文档时,我们得到一棵结构树,它表示XML文档的内容。所有的文本,元素和属性,都在这个树结构中2 DOM解析器的相关类 javax.xml.parsers.DocumentBuilderFactory :使应用程序能够从 XML 文档获取生成 DOM 对象树的解析器. javax.xml.parsers.DocumentBuilder :使其从 XML 文档获取 DOM 文档实例,应用程序员可以从 XML 获取一个 Document。 org.w3c.dom.Document :接口表示整个 HTML 或 XML 文档 org.w3c.dom.Node :它表示该文档树中的单个节点。 org.w3c.dom.NodeList :节点的有序集合 org.w3c.dom.Element :接口表示 HTML 或 XML 文档中的一个元素。 javax.xml.transform.TransformerFactory :可用于创建 Transformer 和 Templates 对象 javax.xml.transform.Transformer :此抽象类的实例能够将源树转换为结果树。Transform方法将 XML Source 转换为 Result javax.xml.transform.dom.DOMSource :以 Document Object Model(DOM)树的形式充当转换 Source 树的持有者。 javax.xml.transform.stream.StreamResult :充当转换结果的持有者,可以为 XML、纯文本、HTML 或某些其他格式的标记3 DOM基于树的处理的优缺点优:树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像SAX那样是一次性的处理。DOM使用起来也要简单得多。缺:在内存中构造这样的树涉及大量的开销。大型文件完全占用系统内存容量的情况并不鲜见。此外,创建一棵DOM树可能是一个缓慢的过程。为了满足该缺点,我们使用SAX(Simple API for XML)API处理XML文档内容。它的设计目标是占用更少的内存,把更多的工作交给程序员。SAX和DOM是互补的,有各自的适用环境四 SAX解析器1 解析原理当使用SAX解析器解析一个XML文档时,解析器在读取文档的过程中会生成一系列的事件。至于如何处理这些事件则取决于我们的需求。下面列出了一小部分我们在XML文档时可能遇到的事件:startDocument事件对于每个元素,在元素开始时有startElement事件,元素结束时有endElement事件如果元素包含内容,对于文本将出现characters事件,对于子元素将出现startElement和endElement事件,依此类推 endDocument事件2 SAX解析器的相关类 javax.xml.parsers.SAXParserFactory :应用程序能够配置和获取基于 SAX 的解析器以解析 XML 文档 javax.xml.parsers.SAXParser:可以从各种输入源解析 XML ,使用parse 方法 org.xml.sax.helpers.DefaultHandler:应用程序编写者可以在他们仅需实现部分接口时扩展此类;当应用程序尚未提供其自己的处理程序时解析器编写者可通过实例化此类来提供默认的处理程序。3 Dom解析器和SAX解析器的使用情况l 以下情况应使用DOM解析器 需要详细了解文档的结构 需要改变文档的结构(也许我们需要对元素排序,增加新的元素等等) 需要多次引用解析的信息l 以下情况应使用SAX解析器 内存少 只需要XML文档中少量元素或属性 解析的信息只使用一次五 JDOM 解析器1 解析性能JDOM的内存使用比DOM少,但是不如SAX好2 JDom解析器相关类 org.jdom.input.SAXBuilder:Builds a JDOM document from files, streams, readers, URLs, or a SAX InputSource instance using a SAX parser. org.jdom.Document:An XML document. Methods allow access to the root element as well as the DocType and other document-level information. org.jdom.Element:An XML element. Methods allow the user to get and manipulate its child elements and content, directly access the elements textual content, manipulate its attributes, and manage namespaces. org.jdom.output.Format: org.jdom.output.XMLOutputter: 六 Dom4j解析器1 市场前景Dom4j解析器是使用比较广的解析器。在目前流行的技术里面都是用Dom4j解析器来解析xml文档的。如:Hibernate和Spring2 Dom4j解析器相关类 org.d

温馨提示

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

评论

0/150

提交评论