domj解析XML文档.ppt
《domj解析XML文档.ppt》由会员分享,可在线阅读,更多相关《domj解析XML文档.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四卷:第四卷:XML解析器DOM4J第一次实验报告提交n提交内容:本周实验内容(DOM4J)n上交时间:第十二周小课上交打印稿n提交对象:学号尾号为1、3、5、7、9的同学。n其余同学提交电子版到FTP。内容回顾q描述SAX的基本内容q描述SAX的事件驱动模型q解释SAX解析器是如何工作的q列出SAX接口并描述相关的方法q与DOM之间的比较DOM4J解析XML文档学 习 目 标q掌握dom4j的概念和特点q掌握dom4j的常用接口q熟练掌握使用dom4j解析XML文档q熟练掌握使用访问者模式遍历XML文档q掌握使用dom4j创建和修改XML文档JAXP虽然在DOM和SAX解析机制上进行了一定
2、的抽象,但是对XML解析非常繁琐,编程代码冗长,可读性不高。因此在JAVA领域出现了两个开源的XML解析器:dom4j和JDOM。dom4j的开发者说:使用dom4j来解析XML文档,无须参考任何图书,只要有基本的DOM概念,那么对着dom4j的API文档即可使用dom4j解析。dom4j概述 dom4j是一套开源的XML解析工具,完全支持DOM、SAX和JAXP机制。与它们相比,dom4j更为简单易用,因此实际项目中往往选择dom4j作为XML解析器。dom4j没有提供其他语言版本,只提供JAVA语言版本。dom4j的封装和优势dom4j在很大程序上简化了XML的处理方式。从表面上看,dom
3、4j有点类似于DOM解析机制,也将XML文档转换为一棵结构化树(dom4j树),但dom4j树的处理方式比DOM树更为简单。由于dom4j如此优秀,很多优秀的开源项目都采用dom4j作为XML解析器,在实际的开发过程中,它通常是首选。面向接口编程 它的实质是以其他XML解析器为基础,dom4j采用面向接口编程的方式来处理XML文档解析,这就允许dom4j的底层可以在不同的解析机制之间自由切换。支持多种解析机制DOMReader:它负责根据W3C的DOM树创建dom4j树SAXReader:它基于SAX解析机制来分析一份XML文档,并将其转换为dom4j树XPP3Reader:其底层需要依赖于X
4、ML Pulll Parser 3.x来解析XML文档,并将其转换为dom4j树XPPReader:其底层需要依赖于XML Pulll Parser 2.x来解析XML文档,并将其转换为dom4j树 疯狂XML讲义 扫雷 乒乓球/获取list元素下的所有子元素NodeList itemList=list.getChildNodes();/遍历每个子元素for(int I=0;IitemList.getLength();I+)System.out.println(itemList.item(j).getTextContent().trim();在获取在获取节点之后,如果希望获取它包含的节点之后,
5、如果希望获取它包含的3个子节点的数个子节点的数据,需要使用如下代码据,需要使用如下代码这种处理方式很是繁琐,这种处理方式很是繁琐,list元素调用元素调用getChildNodes()方法返回该方法返回该元素的所有子节点,而不是所有的子元素,这使得程序的处理过元素的所有子节点,而不是所有的子元素,这使得程序的处理过程非常繁琐。程非常繁琐。/获取list元素下的所有子元素List itemList=list.elements();/遍历每个子元素for(int I=0;I+element.getText();/定义一个方法处理指定元素的所有属性public static void parseAt
6、tribute(Element ele)/获取Element元素的所有属性List attList=ele.attributes();/遍历Element元素每个属性 for(Object e:attList)Attribute attr=(Attribute)e;/访问当前元素的每个属性的属性值System.out.println(ele.getQName().getName()+元素的+attr.getQName().getName()+属性值为:+attr.getValue();使用访问者遍历XML文档【重点掌握】dom4j的Node接口中定义了一个accept(Visitor vist
7、or)方法,由于该方法是在Node接口中定义的,因此dom4j树中的任何节点都可以调用该方法,调用该方法时传入的Visitor对象将负责处理该节点及其所有子节点的信息。Visitor接口和VisitorSupport类的关系就像事件监听接口和事件适配器一样。VisitorSupport类实现了Visitor接口,并为每个方法提供了空实现。当开发者通过继承VisitorSupport类来实现自己的Visitor时就可以只重写自己关系的方法,从而避免重写Visitor接口里的所有方法。Vistor接口的方法简单说明visit(Attribute node)当Visitor对象访问属性节点时将回调该
8、方法visit(CDATAnode)当Visitor对象访问CDATA片段时将回调该方法visit(Comment node)当Visitor对象访问注释节点时将回调该方法visit(Document document)当Visitor对象访问文档根节点时将回调该方法visit(DocumentType documentType)当Visitor对象访问DTD内容将回调该方法visit(Element node)当Visitor对象访问元素节点将回调该方法visit(Entity node)当Visitor对象访问Entity节点将回调该方法visit(Namespace namespace)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- domj 解析 XML 文档
限制150内