现在很多软件使用xml作为配置文件,但处理起来还是非常麻烦,在Jakarta Project 工程中,有一个Common Digester包可以帮助我们处理xml类型的配置文件。
除了读取xml配置文件外,这个软件也非常适合用于将xml转为JavaBean。
假定xml文件如下:
<foo name="The Parent">
<bar id="123" title="The First Child"/>
<bar id="456" title="The Second Child"/>
</foo>
对应的JavaBean类定义如下:
public class Bar {
private int id;
private String title;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
public class Foo {
private String name;
private Vector bars = new Vector();
public void addBar(Bar bar) {
bars.add(bar);
}
public Bar findBar(int id) {
Iterator iterator = bars.iterator();
if(iterator.hasNext()){
Bar bar = (Bar)iterator.next();
if(bar.getId() == id){
return bar;
}
}
return null;
}
public Iterator getBars() {
return bars.iterator();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
在后面处理中,只需要简单处理,即可将xml描述的对象转换为JavaBean对象。
Digester digester = new Digester();
digester.setValidating(false);
digester.addObjectCreate(foo, mypackage.Foo);
digester.addSetProperties(foo);
digester.addObjectCreate(foo/bar, mypackage.Bar);
digester.addSetProperties(foo/bar);
digester.addSetNext(foo/bar, addBar, mypackage.Bar);
try {
Foo foo = (Foo) digester.parse(D:/java/eclipse/workspace/Digester/src/mypackage/utils/Bar.xml);
System.out.println(foo);
} catch (IOException e) {
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
分享到:
相关推荐
我们无须了解SAX和DOM的解析过程,只要给Digester添加一些解析规则,就能对一个xml文件进行解析。Digester使用堆栈来保存xml节点(stack.push()方法),当该xml节点中嵌套的所有子节点解析完毕,该节点将被弹出...
它使用SAX(Simple API for XML)解析器来读取XML文档,而不是DOM(Document Object Model),这使得处理大型XML文件时更有效率。 Apache Commons Digester通过定义一系列规则,这些规则可以匹配XML文档中的元素,...
There are several ways of doing this, and the Digester component was designed to provide a common implementation that can be used in many different projects. Basically, the Digester package lets you...
3. **commons-digester-1.8.jar**:Apache Commons Digester 是一个用于解析XML文档并根据规则自动创建和配置Java对象的库。它通过定义一系列规则,可以在XML元素匹配时执行相应的Java方法,从而将XML数据映射到对象...
5. **commons-digester.jar**:Apache Commons Digester库,允许开发人员根据XML文档结构创建和配置Java对象,通常用于从XML配置文件中自动构建对象模型。 6. **commons-dbcp.jar**:Apache Commons DBCP库,提供了...
在这个XML文件中,你可以配置字段的验证规则,如非空、长度限制、格式检查等。 3. **编写表单Bean**:为每个需要验证的表单创建一个Java Bean,该Bean将包含所有表单字段。在Bean的属性上使用`@Validate`注解(如果...
在Web.xml文件中还可以配置错误页面,以处理常见的HTTP错误码,如404 Not Found、500 Internal Server Error等。例如: ```xml <error-code>404 <location>/common/404.jsp <error-code>500 <location>/...
Apache Commons是一个非常有用的工具包,解决各种实际的通用问题。...The commons-validator提供了一个简单的,可扩展的框架来在一个XML文件中定义校验器 (校验方法)和校验规则。支持校验规则的和错误消息的国际化。
9. **dom4j-*.jar**: DOM4J库,用于处理XML文档,是许多Java XML库的基础。 10. **jasperprint-*.jar**: JasperPrint库,包含了报表打印相关的类和接口。 以上就是JasperReport在设计、开发和运行过程中所需的核心...
10. **XML处理**:`XML`相关组件如`Digester`和`Beans`提供了XML解析和对象绑定的功能,简化了XML文档的读取和操作。 Apache Commons 的优势在于它的模块化设计,开发者可以根据项目需求选择需要的组件,避免引入...
5. `digesterRules.xml`:可能涉及到 Apache Commons Digester,这是一个解析 XML 文档并基于规则执行对象实例化的工具,常用于构建配置驱动的应用程序。 6. `javax` 目录:这可能是 Hadoop 集成的 javax.* 库,...
Apache Commons Digester是一个用于解析XML文档并根据预定义的规则自动创建和配置对象的工具。在某些场景下,digester可能会依赖Commons Logging进行日志记录,以输出解析过程中的信息和错误。因此,"commons-...
接下来,我们将基于给定的部分内容,详细解析如何在Web.xml文件中配置Struts应用,以及配置中涉及的重要概念。 ### 配置ActionServlet ActionServlet的配置是Struts应用的基础,需要在Web.xml中定义。通过以下步骤...
- **detail**:设置Digester的debug级别,Digester是Struts框架用来解析XML配置文件的工具。 - 默认值:0(记录最少的日志信息) #### 二、配置欢迎文件 当用户访问Web应用时,如果没有指定具体的文件名,Web...
- **Digester**: 用于将 XML 文档解析为 Java 对象。 - **Codec**: 提供了各种编码解码器,如 Base64、Hex 等。 ### 2. Commons IO Commons IO 提供了对文件和流操作的增强功能,例如: - 文件操作:创建、复制...
8. **commons-digester-1.8.zip**:允许通过XML规则来创建和配置Java对象,提供了一种从XML数据动态构建对象图的方式。 9. **commons-discovery-0.4.zip**:提供了服务发现和自动服务注册的机制,主要用于Jini和JMX...
相较于传统的 W3C、SAX 方式解析 XML 文档,Digester 的层次更高,适合更懒得家伙。 12. Commons-fileupload.jar:这是一个 Apache 的上传文件工具包,提供了文件上传的功能。 13. Commons-httpclient.jar:这是一...
XML文件解析可以借助dom4j和Digester。WebServices发布则根据开发框架如Spring,选择Cxf。 3. **数据处理与管理**:数据采集管理涉及数据的获取和预处理,文件交换管理处理数据的传输,数据加工流程定义、调度和...
- **commons-digester.jar**:Apache Commons Digester是一个XML到Java对象映射的工具,常用于自动构建对象模型。 - **common-annotations.jar**:提供了一组常见的JSR-250注解,如@PostConstruct和@PreDestroy,...