详情参照百度百科和相关文档
//http://blog.csdn.net/s070403143b/article/details/1716608
//http://baike.baidu.com/view/3602595.htm
示例代码:
//详细信息
//http://blog.csdn.net/s070403143b/article/details/1716608
//http://baike.baidu.com/view/3602595.htm
// 定义要解析的 XML 的路径,并初始化工具类
Digester digester = new Digester();
// 如果碰到了 <targettest> 这个标签,应该初始化 com.test.digestertest.Target 这个 JavaBean
digester.addObjectCreate("targettest", "com.test.digestertest.Target");
//并填装相关属性
digester.addSetProperties("targettest");
// 如果碰到了 <targettest/SubTarget> 这个标签,同上初始化 com.test.digestertest.Target 这个 JavaBean
digester.addObjectCreate("targettest/SubTarget", "com.test.digestertest.SubTarget");
digester.addSetProperties("targettest/SubTarget");
// 通过调用上面已经初始化过的 JavaBean 的 addSubTarget() 方法来把多个 <targettest/SubTarget> 加到一个集合中
digester.addSetNext("targettest/SubTarget", "addSubTarget", "com.test.digestertest.SubTarget");
// 定义好了上面的解析规则后,就可以开始进行解析工作了
try {
Target t = (Target) digester.parse(DigesterTest.class.getClassLoader()
.getResourceAsStream("com/test/digestertest/target.xml"));
System.out.println("Target name:"+t.getName());
System.out.println("List<SubTarget> size():"+t.list.size());
System.out.println(t.list.get(0).name);
System.out.println(t.list.get(1).name);
System.out.println(t.list.get(2).name);
System.out.println("success");
} catch (Exception e) {
e.printStackTrace();
}
分享到:
相关推荐
Apache Commons Digester库提供了一种强大的机制,能够自动将XML内容映射到Java Bean,大大简化了这一过程。本篇将详细介绍如何利用Digester实现XML到Bean的转换。 首先,我们需要理解XML和Java Bean的基本概念。...
### 使用Digester将XML转换为Java对象 #### 概述 在软件开发过程中,特别是对于较为...通过将XML文件与Java Bean之间的映射关系配置好,我们可以轻松地将XML文件中的配置数据转换成Java对象,进而用于应用程序中。
本篇文章将深入探讨如何使用Digester来解析XML,并通过XSD(XML Schema Definition)进行验证,最终将XML数据转换为Java Bean对象。 **什么是Apache Commons Digester?** Apache Commons Digester是一个Java库,它...
本篇文章将深入探讨XML解析的原理以及在Java中的具体应用。 1. XML解析原理: XML解析主要分为两种方式:DOM(Document Object Model)和SAX(Simple API for XML)。DOM解析器会将整个XML文档加载到内存中,形成一...
`Apache Commons Digester`是一个功能强大且易于使用的Java库,专门用于将XML文档解析并转换为Java对象。它支持通过规则集(Rules)来进行配置,这些规则集可以在代码中动态定义,也可以从XML文件中加载。这种方式...
总的来说,Apache Commons Digester是一个强大的XML解析工具,它简化了XML数据和Java对象之间的映射,提高了开发效率。在使用digester时,理解其工作原理和规则的设定至关重要,这将帮助我们更好地利用这一工具,...
《digester jar包大全——深度解析Java XML解析利器》 在Java编程中,XML作为一种重要的数据交换格式,被广泛应用于各种系统之间的数据交互。而Apache Digester库则为开发者提供了一种高效、方便的方式来处理XML...
3. **初始化Digester**:创建Digester实例,并设置必要的属性,如XML解析器、命名空间处理等。 4. **注册规则**:将之前创建的Rule添加到Digester中。 5. **解析XML**:调用Digester的parse()方法,传入XML输入流...
- Apache Commons Digester简化了基于规则的XML解析。 总之,Java与XML的结合在实际开发中扮演着重要角色,从数据交换、配置管理到网络通信,XML都是不可或缺的一部分。理解并熟练运用各种XML处理技术,能有效提升...
4. XMLBeans库:压缩包中的"xmlbean"可能指的是Apache的XMLBeans项目,这是一个强大的库,能够直接将XML Schema编译成Java类,这些类可以直接用来序列化和反序列化XML。XMLBeans通过使用Schema信息来生成高度优化的...
- `EISMessage.java`, `NetworkCard.java`, `OperatingSystem.java`, `LogicalDrive.java`可能是用户自定义的Java类,它们可能是被digester解析的XML配置文件所创建和配置的对象。 在实际应用中,`digester`通常会...
总的来说,Commons Digester是一个强大且灵活的工具,它减少了XML解析和Java对象映射的复杂性,提高了开发效率。通过深入理解和熟练使用这个库,开发者可以更有效地处理XML数据,从而更好地实现基于XML的应用程序。...
1. **XML解析**:Digester使用SAX解析器处理XML文档,而不是DOM解析器,这意味着它在处理大型XML文件时内存效率更高。SAX解析器逐行读取XML,当遇到特定的元素时触发回调方法。 2. **规则匹配**:通过`addRule()`...
Commons-Digester是一个Java库,它提供了一组规则来解析XML文档,并将解析结果映射到Java对象。这个库在处理XML配置文件时特别有用,因为它可以自动化将XML元素和属性转换为对象的属性和方法调用。在给定的标题...
此外,Apache的 Commons Digester 和 JiBX 等库也提供了高级的XML解析功能。 总的来说,XML在Java开发中扮演着配置中心的角色,通过XML配置文件可以灵活地调整应用程序的行为。理解并熟练运用Java的XML API进行文档...
XBean通过Apache Commons Digester和Xerces来解析XML配置文件,并将其转换为Java对象。这个框架主要用于简化复杂配置文件的处理,尤其是在Spring框架中,XBean可以作为一个扩展,帮助处理XML配置文件。它支持动态...
它通过配置文件指定如何解析XML文档,并将其映射到相应的Java Bean对象上。 - **特点**: - 非常适合用于简单的XML文档处理。 - 无需编写复杂的解析代码。 - 支持XML到Java Bean的自动转换。 - 对于复杂文档的...
这些库在Java开发中的应用广泛,例如在企业级应用开发中,AspectJ可以用于日志记录、性能监控和事务管理等,而Commons BeanUtils和Commons Digester则简化了对象的创建和XML解析过程。了解并熟练运用这些工具,将有...
7. **性能优化**:考虑到配置文件可能较大,优化XML解析速度是必要的。使用DOM(Document Object Model)可能消耗大量内存,而SAX(Simple API for XML)或StAX(Streaming API for XML)则提供更高效的流式处理方式...