dom4j解析XML文档
DOM4J解析XML文档学 习 目 标掌握dom4j的概念和特点 掌握dom4j的常用接口 熟练掌握使用dom4j解析XML文档 熟练掌握使用访问者模式遍历XML文档 掌握使用dom4j创建和修改XML文档
dom4j解析XML文档
JAXP虽然在DOM和SAX解析机制上进行了一定的 抽象,但是对XML解析非常繁琐,编程代码冗长, 可读性不高。因此在JAVA领域出现了两个开源的 XML解析器:dom4j和JDOM。 dom4j的开发者说:使用dom4j来解析XML文档, 无须参考任何图书,只要有基本的DOM概念,那么 对着dom4j的API文档即可使用dom4j解析。
dom4j解析XML文档
dom4j概述dom4j是一套开源的XML解析工具,完全支持 DOM、SAX和JAXP机制。与它们相比, dom4j 更为简单易用,因此实际项目中往往选择dom4j 作为XML解析器。 dom4j没有提供其他语言版本,只提供JAVA 语言版本。
dom4j解析XML文档
dom4j的封装和优势dom4j在很大程序上简化了XML的处理方式。从 表面上看, dom4j有点类似于DOM解析机制,也 将XML文档转换为一棵结构化树(dom4j树),但 dom4j树的处理方式比DOM树更为简单。 dom4j DOM 由于dom4j如此优秀,很多优秀的开源项目都采 用dom4j作为XML解析器,在实际的开发过程中, 它通常是首选。
dom4j解析XML文档
面向接口编程它的实质是以其他XML解析器为基础, dom4j采用面 向接口编程的方式来处理XML文档解析,这就允许dom4j 的底层可以在不同的解析机制之间自由切换。
支持多种解析机制
DOMReader:它负责根据W3C的DOM树创建dom4j树 SAXReader:它基于SAX解析机制来分析一份XML文档,并将 其转换为dom4j树 XPP3Reader:其底层需要依赖于XML Pulll Parser 3.x来解析 XML文档,并将其转换为dom4j树 XPPReader:其底层需要依赖于XML Pulll Parser 2.x来解析 XML文档,并将其转换为dom4j树
dom4j解析XML文档
<list> <book>疯狂XML讲义</book> <game>扫雷</game> <sport>乒乓球</sport> </list>
在获取<list…/>节点之后,如果希望获取它包含的3个子节点的数 节点之后,如果希望获取它包含的 个子节点的数 在获取 节点之后 据,需要使用如下代码//获取list元素下的所有子元素 NodeList itemList=list.getChildNodes(); //遍历每个子元素 for(int I=0;I<itemList.getLength();I++){ System.out.println(itemList.item(j).getTextContent().trim()); }
这种处理方式很是繁琐, 元素调用 元素调用getChildNodes()方法返回该 这种处理方式很是繁琐,list元素调用 方法返回该 元素的所有子节点,而不是所有的子元素, 元素的所有子节点,而不是所有的子元素,这使得程序的处理过 程非常繁琐。 程非常繁琐。
dom4j解析XML文档
//获取list元素下的所有子元素 List itemList=list.elements(); //遍历每个子元素 for(int I=0;I<itemList.getLength();I++){ Element ele=(Element)itemList.get(I); System.out.println(els.getText()); }
list元素调用 元素调用elements()方法返回该元
素的所有子元素 包括子节点 方法返回该元素的所有子元素(包括子节点 元素调用 方法返回该元素的所有子元素 和该节点的文本内容),dom4j处理方式更接近平常自然的思维。 和该节点的文本内容) 处理方式更接近平常自然的思维。 处理方式更接近平常自然的思维
dom4j解析XML文档
下载和安装dom4j登录dom4j的官方站点下载最新版本dom4j1.6.1 下载完成后得到dom4j1.6.1.zip,将其解压缩可得到如 下目录结构
docs: docs:该目录下存放了dom4j的说明文件和API文档 dom4j API lib:该目录下存放了dom4j编译和运行所依赖的第三方类库 Src:该目录下存放了dom4j项目的所有源文件 xdocs:该目录存放dom4j的一些相关文档,是XML格式 xml:该目录下存放了dom4j提供了一些简单的范例xml文档 dom4j-1.6.1.jar:dom4j的核心JAR包
将dom4j-1.6.1.jar添加到系统CLASSPATH环境变量中
dom4j解析XML文档
Dom4j常用的API 【重点掌握】Element Branch Document
Cloneable
Node
Attribute
DocumentType
CharacterData
ProcessingInstruction
CDATA
Text
Comment
dom4j解析XML文档
Dom4j的API接口Node Branch Element Doucment Attribute DocumentType ProceesingInstruction CharacterData CDATA Text Comment
简单说明它是dom4j树中所有节点的跟接口 它代表能包含子节点的节点 它代表XML元素 它代表XML文档根 它代表XML元素属性 它代表XML文档中的DOCTYPE声明 它代表XML文档中的处理指令 它是所有文本元素的父接口 它代表XML文档中的CDATA段 它代表XML文档里的文本内容 它代表XML文档里的注释内容
dom4j解析XML文档
除此之外,dom4j为解析xml文档还提供了 DOMReader、SaxReader 、 XPP3Reader和XPPReader 4个解析器,负责将不同形式的XML文 档解析成dom4j树。 对应地, dom4j也提供了如下几个Writer:DOMWriter:该输出工具类负责将dom4j树转换成为W3C的DOM树 SAXWriter:该输出工具类负责将dom4j树输出给SAX的 ContendHandler处理 XMLWriter:该工具类将dom4j树转换成对应的XML文档,并可输出 到指定流中
dom4j解析XML文档
除此之外,如果程序需要创建一份新Document, dom4j还提供了如下2个工具类 DocumentFactory: 该工具提供createDocument()方法用于创建 Document对象 DocumentHelper 该工具提供了大量静态方法用于创建XML文档各 组成部分
dom4j解析XML文档
使用dom4j解析XML文档【重点掌握】使用dom4j解析XML文档的过程是这样的,首先是将 XML文档转换成dom4j树之后,使用一致的编程模型来处 理XML文档。我们可以采用递归方法来获取整份XML文 档里包含的信息。public class Dom4jRead { public static void main(String[] args) throws Exception { //使用SAXReader来解析XML文档 SAXReader reader = new SAXReader(); Document doc = reader.read(new File("book.xml")); Element root = doc.getRootElement(); parse(root); }
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新人文社科dom4j解析XML文档全文阅读和word下载服务。
相关推荐: