您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 第12讲-XML解析器JDOM(SN3005 XML12)
XML企业应用开发第四卷:XML解析器JDOMXML企业应用开发2回顾掌握dom4j的概念和特点掌握dom4j的常用接口熟练掌握使用dom4j解析XML文档熟练掌握使用访问者模式遍历XML文档掌握使用dom4j创建和修改XML文档XML企业应用开发3目标JDOM和dom4jJDOM简介及优势JDOM常用APIJDOM包概览JDOM类说明使用JDOM验证XML文档的有效性使用JDOM解析XML文档使用JDOM创建XML文档使用JDOM修改XML文档XML企业应用开发4JDOM和dom4jW3C的DOM规范既要考虑处理XML文档,又要考虑处理HTML文档,因此实际开发过程中使用DOM解析器来处理XML文档显得异常繁琐。在这样的背景下,有一帮人开始开发Java专业的XMLAPI,希望更方便使用,这就是JDOM的由来。但在JDOM开发到一半的时候,有一部分人产生了新的想法,这些想法又无法在JDOM中实现,于是他们干脆从JDOM项目组中分离出去,单独开发另一套Java专属的XMLAPI,这就是dom4j。XML企业应用开发5JDOM简介JDOM和dom4j两套API有一个共同的目标:使用简单的、易理解的API来处理XML问题。比较来看,JDOM主要API以类为主,而dom4j主要API以接口为主。因此,dom4j比JDOM灵活。XML企业应用开发6JDOM常用API的类图DocumentContentTextCDATAProcessingInstructionCommentEntityRefAttributeParentElementDocTypeXML企业应用开发Parent接口JDOM常用API中只有一个Parent是接口,他代表所有能包含子内容的节点,有Document和Content两个实现类。该接口有以下常用方法:ListgetContent()方法:返回该元素包含的所有子内容;IntgetContentSize()方法:返回所包含的所有子内容的大小;IteratorgetDescendants()方法:获取所包含的所有后代节点;DocumentgetDocument():返回所在的XML文档对应的Document;7XML企业应用开发ParentgetParent():返回父元素IntindexOf(Contentchild):返回指定子内容在当前元素的子内容列表中的索引;ListremoveContent()方法:删除当前元素的指定子内容,并返回被删除的内容。8XML企业应用开发9JDOM常用类表JDOM的类说明Document代表XML文档对象本身,就是XML文档根Content是所有JDOM对象的抽象父类Element代表XML元素Text代表XML文档中的文本内容CDATA代表XML文档中的CDATA节DocType代表XML文档中的DOCTYPE声明ProcessingInstruction代表XML文档中的处理指令EntityRef代表XML文档中的实体引用Attribute代表XML文档中的属性Comment代表XML文档中的注释内容XML企业应用开发下载和安装JDOM使用JDOM之前需要如下步骤:1、登录JDOM官方站点下载(FTP在文件夹工具软件中有共享)2、下载完得到jdom-2.0.5.zip文件,解压缩后得到如下目录:build:存放JDOM项目编译生成的最终结果,其中的jdom.jar文件,就是JDOM的核心类库;lib:存放JDOM编译和运行所依赖的第三方类库;samples:存放dom4j一些相关文档src:存放JDOM项目的全部源代码build.xlm、LICENSE.txt等相关杂项文档3、将build目录下的jdom.jar添加到系统的CLASSPATH环境变量中。如果使用Eclipse,则需要通过BuildPath引用。XML企业应用开发JDOM包概览JDOM是由以下几个包组成的org.jdom包含了所有的xml文档要素的java类org.jdom.adapters包含了与dom适配的java类org.jdom.filter包含了xml文档的过滤器类org.jdom.input包含了读取xml文档的类org.jdom.output包含了写入xml文档的类org.jdom.transform包含了将jdomxml文档接口转换为其他xml文档接口org.jdom.xpath包含了对xml文档xpath操作的类11XML企业应用开发JDOM类说明1、org.JDOM这个包里的类是你解析xml文件后所要用到的所有数据类型。AttributeCDATAComentDocTypeDocumentElementEntityRefNamespaceProscessingInstructionText2、org.JDOM.transform在涉及xslt格式转换时应使用下面的2个类JDOMSourceJDOMResult12XML企业应用开发3、org.JDOM.input输入类,一般用于文档的创建工作SAXBuilderDOMBuilderResultSetBuilder4、org.JDOM.output输出类,用于文档转换输出XMLOutputterSAXOutputterDomOutputterJTreeOutputter13XML企业应用开发14使用JDOM访问XML的示例一、验证XML文档的有效性JDOM既可以使用DTD,也可以是Schema来验证XML文档有效性如果用DTD验证XML文档,只需调用SAXBuilder的如下方法:setValidation(booleanvalidation):该方法仅对DTD语义约束有效。XML企业应用开发15如果用Schema验证,JDOM的SAXBuilder解析器提供如下方法:builer.setFeature();如果XML文档中没有引入相应的XMLSchema,则需告诉SAXBuilder解析器应使用哪个Schema,如下:builer.setProperty(”,”book.xsd”);XML企业应用开发16代码分析exp11.xmlexp11.xsdXML企业应用开发17代码分析Validation.javaXML企业应用开发18二、使用JDOM解析XML文档JDOM提供了非常简单易用的API来解析XML文档。persons.xmlXML企业应用开发19代码分析JdomRead.javaXML企业应用开发20代码分析XML企业应用开发代码分析21输出结果XML企业应用开发22三、使用JDOM创建XML文档JDOM没有提供工厂类,因为JDOM本身就是面向实现类的。所以创建JDOM的Document,直接通过new调用Document的构造器即可。创建XML文档具体步骤:①使用new关键字调用Document的构造器创建Document对象;②以Document为根,不断添加元素节点;③为节点增加属性并设置属性值;④不断重复以上2步骤,得到一棵内存中的JDOM树;⑤使用XMLOutputter将JDOM树输出到指定文件XML企业应用开发代码分析23JdomWrite.javaXML企业应用开发代码分析24XML企业应用开发输出结果获得studentinfo.xml文件。25XML企业应用开发输出结果程序输出信息如下:26XML企业应用开发27四、使用JDOM修改XML文档修改XML文档具体步骤:①解析XML文档,将XML文档转换为JDOM树;②利用JDOM树提供的导航方法找到要修改的节点;③修改指定节点,或为指定节点添加新的节点;④输出修改过的JDOM树。XML企业应用开发代码分析28JdomUpdate.java(添加一个新的person元素)XML企业应用开发29XML企业应用开发30总结介绍了JDOM解析器的知识重点介绍常用的API、主要的包概览、类说明如果使用JDOM验证XML文档有效性,解析、创建、修改XML文档等XML企业应用开发态度决定命运,专注成就人生!Thanks!
本文标题:第12讲-XML解析器JDOM(SN3005 XML12)
链接地址:https://www.777doc.com/doc-3300546 .html