org.apache.commons.digester软件包学习
在毕业设计(基于XML的电子商务平台)的时候,我参考了几种处理XML文档的组件,DOM、JDOM等,最好我选择了用JDOM(当时感觉自己用的技术比较先进)。但是在最近偶尔的机会见到了digester这个东西,感觉好奇所以今天学习了一下:org.apache.commons.digester软件包。以下网址有一个很不错的介绍:
[@more@]http://www.onjava.com/pub/a/onjava/2002/10/23/digester.html?page=1
它能方便地将XML文档所定义的元素转化为JAVA对象,其实它的用法有点象栈(当然内在的原理就是那个古老的东西,只是提供了更高一层的封装)。
//生成一个digester。主要需要引进commons-logging.jar、commons-collections.jar、commons- beanutils.jar
Digester digester = new Digester();
//设置对XML文档资料是否进行DTD验证
digester.setValidating( false );
//当遇见 catalog 元素的时候,产生一个Catalog对象
digester.addObjectCreate( "catalog", Catalog.class );
//当遇见 catalog 元素下面的book的时候,产生一个Book对象
digester.addObjectCreate( "catalog/book", Book.class );
// 当遇见 catalog 元素下面的book的author时候,调用author属性的Set方法
digester.addBeanPropertySetter( "catalog/book/author", "author" );
digester.addBeanPropertySetter( "catalog/book/title", "title" );
//当再一次遇见 catalog 元素下面的book的时候,调用catalog类的addBook()方法
digester.addSetNext( "catalog/book", "addBook" );
digester.addObjectCreate( "catalog/magazine", Magazine.class );
digester.addBeanPropertySetter( "catalog/magazine/name", "name" );
digester.addObjectCreate( "catalog/magazine/article", Article.class );
//addSetProperties()是将对应元素的属性赋值。
digester.addSetProperties( "catalog/magazine/article", "page", "page" );
digester.addBeanPropertySetter( "catalog/magazine/article/headline" );
digester.addSetNext( "catalog/magazine/article", "addArticle" );
digester.addSetNext( "catalog/magazine", "addMagazine" );
//"F:Digestercatalog.xml"为XML文档
File input = new File( "F:Digestercatalog.xml" );
Catalog c = (Catalog)digester.parse( input );
System.out.println( c.toString() );
在测试以上网站的例子的时候引进:commons-digester.jar,另外请你引进:commons-logging.jar、commons-collections.jar、commons-beanutils.jar
这是因为在执行: Digester digester = new Digester();的时候配置了LOG(在apache下面的很多组件都会用到它的公用组件)。
分享到:
相关推荐
org.apache.commons.lang.BitField.class org.apache.commons.lang.BooleanUtils.class org.apache.commons.lang.CharEncoding.class org.apache.commons.lang.CharRange.class org.apache.commons.lang.CharSet...
org.apache.commons.lang.BitField.class org.apache.commons.lang.BooleanUtils.class org.apache.commons.lang.CharEncoding.class org.apache.commons.lang.CharRange.class org.apache.commons.lang.CharSet...
import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.methods....
这个“org.apache.commons.digester解析XML.rar”压缩包包含了一个测试工程,它演示了如何使用Digester库来解析XML文件并映射到Java对象上。下面将详细介绍这个库的功能、使用方法以及在实际开发中的应用。 1. **...
jar包分享,你懂的 com.springsource.org.apache.commons.io-1.4.0.jar
总的来说,Apache Commons Math 3.6.1是一个强大的工具,为Java开发者提供了丰富的数学和统计功能,广泛应用于科学计算、数据分析、机器学习等多个领域。通过持续的维护和更新,它始终保持了对最新技术的适应性和高...
com.springsource.org.apache.commons.logging-1.1.1.jar
org.apache.commons 的 jar 包 org.apache.commons的jar包,Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动,有需要的赶快来CSDN下载吧!
spring mvc 上传需要的jar包 com.springsource.org.apache.commons.fileupload-1.2.0.jar com.springsource.org.apache.commons.io-1.4.0.jar
com.springsource.org.apache.commons.logging-sources-1.1.1.jar
在本文中,我们将深入探讨如何使用`org.apache.commons.net.ftp.FTPClient`包来实现简单的文件下载功能。这个过程涉及到几个关键步骤,包括连接到FTP服务器、登录、设置传输模式、下载文件以及断开连接。 首先,你...
org.apache.commons相关的所以jar包,包括commons-beanutils-1.8.0-bin.zip;commons-betwixt-0.8.zip;commons-cli-1.1.zip;commons-codec-1.3.zip;commons-collections-3.2.1-bin.zip;commons-digester-1.8.zip...
标签中的"org.apache.commons.net.ftp"表明此包重点在于FTP(File Transfer Protocol)支持。FTP是一种用于在网络上进行文件传输的协议,Apache Commons Net库中的FTP组件提供了丰富的API,使得开发者可以轻松地在...
标题 "com.springsource.org.apache.commons.lang" 指向的是Apache Commons Lang库的一个特定版本,该库是Apache软件基金会开发的一个Java工具类集合。Apache Commons Lang是Java开发中常用的辅助库,提供了大量用于...
com.springsource.org.apache.commons.fileupload 自己打入本地Jar包即可
本站为大家提供了org.apache.commons的jar包下载地址,Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动,需要此类JAR包的朋友们欢迎前来下载使用。 基本简介 commons包,根据...
jar包,官方版本,自测可用
import org.apache.commons.beanutils.PropertyUtilsBean; import org.apache.commons.lang.StringUtils; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; ...
解决Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.FileUtils 类似错误,需要导入jar包,下载地址是http://commons.apache.org/proper/commons-io/download_io.cgi