寒假前,大费周章地按照BPEL协议的规定,并参考了Eclipse的BPEL设计工具的模型设计,建了大量的POJO模型。然后给每个模型类加了一个toElement()方法,利用dom4j工具将内容翻译成XML。这样可以做到只要最后执行:根节点的toElement()方法,就可以得到完整的BPEL流程的代码。为了保险起见,我还给每个POJO做了单元测试,以保证没有“笔误”。这些代码可都是一个字母一个字母打出来的呀!
随着项目的推进,模型的一些细节需要改进,渐渐感觉dom4j有点麻烦,很多方法设计得不“人性化”,比如设了命名空间的url还要自己设prefix,不会自动生成,说白了就是不能让我偷懒。于是想到了JAXB,不用导第三方包,而且BPEL有现成的schema可以自动生成代码。于是去jdk的bin下翻出了xjc,敲下一行命令:“xjc -d 目的路径 -p "包名" schema文件”,一个回车,啪啦啪啦所有schema里定义的元素都给我生成出来了!靠,之前花在建模上那么多的劳动力都白费了……
另外,记录一个心得:用dom4j从url构建document,只要是http协议(其它的协议没试)即使url的返回是空的或者压根就是乱输的,这个document也不会为空,会有一个默认根节点: <html />,所以不能简单的用根节点是否为空来作判断。
分享到:
相关推荐
DOM4J的版本迭代带来了许多改进和新特性,例如从1.6.1到2.1.1的过程中,可能包含了性能优化、API调整、错误修复和新的XML标准支持等。每个版本更新都致力于提高稳定性和易用性,满足开发者不断变化的需求。 在项目...
dom4j帮助文档 官方API All Classes Packages ...org.dom4j.jaxb org.dom4j.rule org.dom4j.rule.pattern org.dom4j.swing org.dom4j.tree org.dom4j.util org.dom4j.xpath org.dom4j.xpp
1. **DOM4J**: DOM4J 是一个非常灵活且功能强大的Java XML API,它提供了多种处理XML的方式,包括读取、写入、修改和操作XML文档。DOM4J支持SAX和DOM解析器,并且提供了比标准DOM API更高效和用户友好的接口。在Java...
开发JAR包集合-cxf/dom4j/jaxb/json/jta/jxl 解压文件得到如下jar包 cxf-2.2.8.jar dom4j-1.6.1.jar ehcache-core-2.2.0.jar jaxb-api-2.2.jar jaxb-impl-2.2.jar json-lib-2.4-jdk15.jar json-lib-ext-...
在Java中,有多种库和技术用于解析XML文档,包括JDOM、JAXB、DOM4J、DOM、SAX和StaX。接下来我们将详细探讨这些解析方式。 1. JDOM JDOM是Java Document Object Model的简称,它为Java提供了本地化的XML API。JDOM...
org.dom4j.jaxb org.dom4j.rule A Pattern based XML rule engine which implements the full XSLT processing model while allowing any Action to be fired if a pattern matches. org.dom4j.rule.pattern org....
10. **JDOM兼容性**:这个压缩包中提到对jdom进行了封装,意味着DOM4J可能提供了一些与JDOM兼容的接口或方法,方便从JDOM迁移到DOM4J的项目。 压缩包中的`dom4j-1.6.1.jar`文件包含了DOM4J库的类和资源,可以直接在...
虽然Java标准库中的JAXB和DOM API提供了XML处理的基础功能,但DOM4J因其简洁的API和强大的功能,成为了许多Java开发者首选的XML处理库。 总结,DOM4J-2.1.1.jar作为一款强大的XML处理工具,不仅具备了基本的XML操作...
- DOM4J通常依赖于JAXB(Java Architecture for XML Binding)用于XML绑定,将XML数据映射到Java对象。 - 可能还需要StAX(Streaming API for XML)库,提供流式处理XML的能力,提高性能。 - 对于XPath支持,可能...
5. **DOM4J与JAXB集成**:DOM4J可以与Java Architecture for XML Binding (JAXB) 集成,实现对象与XML之间的自动转换。 6. **XSLT转换**:DOM4J支持XSLT转换,可以将XML文档转换为其他格式,如HTML或PDF。 7. **...
**DOM4J 1.6.1:Java XML API的卓越选择** DOM4J是一个针对Java平台的开源XML处理库,版本1.6.1是其历史中的一个重要里程碑。这个库以其高性能、全面的功能和易用性而备受赞誉,使得XML处理在Java开发中变得更加...
8. **与JAXB和JDOM的比较**:dom4j相比JAXB(Java Architecture for XML Binding)和JDOM,提供了更丰富的API和功能,同时在某些场景下性能更优,但JAXB和JDOM在特定任务上(如Java对象和XML之间的自动绑定)可能更...
6. **与JAXB集成**:dom4j可以与Java的XML绑定框架JAXB集成,实现XML与Java对象之间的自动转换,简化数据交换。 7. **性能与效率**:尽管dom4j基于DOM模型,但其设计考虑了性能优化,对于中等大小的XML文档,性能...
在XML解析领域,DOM4J与JAXB、SAX、DOM等解析器相比,有其独特的优点。DOM4J采用的是面向对象的设计,使得处理XML文档更符合Java程序员的习惯。它的主要功能包括: 1. **解析XML**:DOM4J提供了多种解析方式,如SAX...
9. **DOM4J与JAXB、StAX比较**:JAXB是Java标准的XML绑定框架,用于将Java对象序列化为XML和反序列化。StAX是另一种流式API,允许逐事件处理XML。DOM4J在灵活性和功能上更胜一筹,但JAXB和StAX在特定场景下可能更...
5. **与JAXB和JDOM兼容**:DOM4J可以方便地与这些其他的XML处理库进行集成。 **DOM4J的主要类和接口:** 1. **Element**:代表XML文档中的元素节点,是DOM4J的核心类。 2. **Document**:表示整个XML文档,包含根...
5. **DOM4J与JAXB集成**:DOM4J可以与Java Architecture for XML Binding (JAXB) 集成,用于XML和Java对象之间的自动转换。 6. **流式处理**:DOM4J提供了流式处理API,允许你逐行读取XML文档,对于需要高效处理...
总的来说,DOM4J是Java开发中处理XML不可或缺的工具,它提供了一套完整的解决方案,涵盖了从读取XML到生成XML的整个过程。通过深入理解和熟练掌握DOM4J的API,开发者可以更高效地处理XML数据,提升应用的性能和可...
JAXB在处理复杂的Java对象到XML映射时更强大,但不如Dom4j灵活。 - **JDOM**:Java Document Object Model,也是Java中处理XML的一种库,但它的API相对复杂,而Dom4j则更易于理解和使用。 **5. 结论** Dom4j作为一...
DOM4J相较于JAXB(Java Architecture for XML Binding)和JDOM,更注重性能和灵活性。JAXB主要用于对象与XML之间的自动绑定,而JDOM则提供了一种基于树模型的XML处理方式,DOM4J在功能和易用性上相对更胜一筹。 7....