- 浏览: 1529049 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (516)
- Java (49)
- Java/Struts 2.0 (25)
- Java/Spring、Spring MVC (11)
- Java/Quartz (3)
- Java/Lucene (6)
- Java/Hibernate (19)
- Java/openJPA (7)
- Java/DWR (7)
- Java/Security、Spring Security/OAuth2 (6)
- Java/Threading (9)
- Java/XML (22)
- java/design pattern (4)
- Android (2)
- JavaScript (46)
- jquery (3)
- DB/MySQL (23)
- DB/Oracle (16)
- PHP (25)
- CSS (20)
- Linux (38)
- C/C++、DLL、Makefile、VC++ (31)
- 正则 (9)
- Eclipse (4)
- 安全、网络等概念 (25)
- 集群 (7)
- 网页 (5)
- 视频\音频 (1)
- HTML (6)
- 计算机数学/算法 (3)
- Virtualbox (1)
- LDAP (2)
- 数据挖掘 (6)
- 工具破解 (1)
- 其他 (13)
- Mail (1)
- 药材 (3)
- 游戏 (2)
- hadoop (13)
- 压力测试 (3)
- 设计模式 (3)
- java/Swing (2)
- 缓存/Memcache (0)
- 缓存/Redis (1)
- OSGI (2)
- OSGI/Gemini (0)
- 文档写作 (0)
- java/Servlet (3)
- MQ/RabbitMQ (2)
- MQ/RocketMQ (0)
- MQ/Kafka (1)
- maven (0)
- SYS/linux (1)
- cache/redis (1)
- DB/Mongodb (2)
- nginx (1)
- postman (1)
- 操作系统/ubuntu (1)
- golang (1)
- dubbo (1)
- 技术管理岗位 (0)
- mybatis-plus (0)
最新评论
-
pgx89112:
大神,请赐我一份这个示例的项目代码吧,万分感谢,1530259 ...
spring的rabbitmq配置 -
string2020:
不使用增强器 怎么弄?
OpenJPA的增强器 -
孟江波:
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!4 ...
spring的rabbitmq配置 -
eachgray:
...
spring-data-redis配置事务 -
qljoeli:
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!1 ...
spring的rabbitmq配置
primer.xml
<?xml version="1.0"?> <purchaseOrders> <!-- 1st --> <purchaseOrder id="1" orderDate="2004-06-28"> <shipTo country="US"> <name>Alice Smith</name> <street>123 Maple Street</street> <city>Cambridge</city> <state>MA</state> <zip>12345</zip> </shipTo> <billTo country="US"> <name>Robert Smith</name> <street>8 Oak Avenue</street> <city>Cambridge</city> <state>MA</state> <zip>12345</zip> </billTo> <items/> </purchaseOrder> <!-- 2nd --> <purchaseOrder id="2" orderDate="2004-06-29"> <shipTo country="US"> <name>Lee Grant</name> <street>123 Maple Street</street> <city>Cambridge</city> <state>MA</state> <zip>12345</zip> </shipTo> <billTo country="US"> <name>Stonewall Jackson</name> <street>8 Oak Avenue</street> <city>Lexington</city> <state>MA</state> <zip>12345</zip> </billTo> <items/> </purchaseOrder> </purchaseOrders>
Item.java
import java.io.Serializable; import javax.xml.bind.Element; public class Items implements Serializable, Element { private static final long serialVersionUID = 6041417537367507061L; }
USAddress.java
import java.io.Serializable; import java.math.BigDecimal; import javax.xml.bind.Element; public class USAddress implements Serializable, Element { private static final long serialVersionUID = -590607725333909750L; private String name; private String street; private String city; private String state; private String country; private BigDecimal zip; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getStreet() { return street; } public void setStreet(String street) { this.street = street; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getState() { return state; } public void setState(String state) { this.state = state; } public BigDecimal getZip() { return zip; } public void setZip(BigDecimal zip) { this.zip = zip; } public String getCountry() { return country; } public void setCountry(String country) { this.country = country; } }
PurchaseOrder.java
import java.io.Serializable; import java.util.Calendar; import javax.xml.bind.Element; /** * @author linzq * */ public class PurchaseOrder implements Serializable, Element { private static final long serialVersionUID = 487350120910629296L; private Integer id; private Calendar orderDate; private USAddress billTo; private USAddress shipTo; private Items items; public Calendar getOrderDate() { return orderDate; } public void setOrderDate(Calendar orderDate) { this.orderDate = orderDate; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public USAddress getBillTo() { return billTo; } public void setBillTo(USAddress billTo) { this.billTo = billTo; } public USAddress getShipTo() { return shipTo; } public void setShipTo(USAddress shipTo) { this.shipTo = shipTo; } public Items getItems() { return items; } public void setItems(Items items) { this.items = items; } }
PurchaseOrders.java
import java.io.Serializable; import java.util.List; import javax.xml.bind.Element; /** * @author linzq * */ public class PurchaseOrders implements Serializable, Element { private static final long serialVersionUID = -1845681258981901430L; List<PurchaseOrder> purchaseOrder; public List<PurchaseOrder> getPurchaseOrder() { return purchaseOrder; } public void setPurchaseOrder(List<PurchaseOrder> purchaseOrder) { this.purchaseOrder = purchaseOrder; } }
ObjectFactory.java
public class ObjectFactory { public static PurchaseOrders createPurchaseOrders() { return new PurchaseOrders(); } public static PurchaseOrder createPurchaseOrder() { return new PurchaseOrder(); } public static USAddress createUSAddress() { return new USAddress(); } public static Items createItems() { return new Items(); } }
PurchaseOrderHandler.java
public class PurchaseOrderHandler implements JAXBObjectHandler { @Override public void handleObject(javax.xml.bind.Element jaxbElement) throws Exception { PurchaseOrder order = (PurchaseOrder) jaxbElement; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); System.out.println("Order - id:" + order.getId() + ", date:" + format.format(order.getOrderDate().getTime())); } }
PurchaseOrderDateModifier.java
public class PurchaseOrderDateModifier implements JAXBObjectModifier { @Override public javax.xml.bind.Element modifyObject( javax.xml.bind.Element jaxbElement) throws Exception { PurchaseOrder order = (PurchaseOrder) jaxbElement; Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); order.setOrderDate(calendar); return order; } }
JAXBDemo.java
import java.io.File; import java.io.IOException; import java.math.BigDecimal; import java.util.Calendar; import javax.xml.bind.JAXBException; import org.dom4j.io.OutputFormat; import org.dom4j.jaxb.JAXBWriter; import org.xml.sax.SAXException; /** * @author linzq * */ public class JAXBDemo { public static String getOutputDir() { return JAXBDemo.class.getResource(".").getFile().toString(); } /** * @param args * @throws IOException * @throws SAXException * @throws JAXBException */ public static void main(String[] args) throws IOException, SAXException, JAXBException { System.out .println(JAXBDemo.class.getResource(".").getFile().toString()); System.exit(0); ObjectFactory factory = new ObjectFactory(); PurchaseOrders orders = factory.createPurchaseOrders(); // Order 1 PurchaseOrder order = factory.createPurchaseOrder(); USAddress billTo = factory.createUSAddress(); billTo.setCity("Cambridge"); billTo.setCountry("US"); billTo.setName("Robert Smith"); billTo.setState("MA"); billTo.setStreet("8 Oak Avenue"); billTo.setZip(new BigDecimal(12345)); order.setBillTo(billTo); USAddress shipTo = factory.createUSAddress(); shipTo.setCity("Cambridge"); shipTo.setCountry("US"); shipTo.setName("Alice Smith"); shipTo.setState("MA"); shipTo.setStreet("123 Maple Street"); shipTo.setZip(new BigDecimal(12345)); order.setShipTo(shipTo); Calendar orderDate = Calendar.getInstance(); orderDate.set(2004, 06, 30); order.setOrderDate(orderDate); Items items = factory.createItems(); order.setItems(items); orders.getPurchaseOrder().add(order); // Order 2 PurchaseOrder order2 = factory.createPurchaseOrder(); USAddress billTo2 = factory.createUSAddress(); billTo2.setCity("Cambridge"); billTo2.setCountry("US"); billTo2.setName("Robert Smith"); billTo2.setState("MA"); billTo2.setStreet("8 Oak Avenue"); billTo2.setZip(new BigDecimal(12345)); order2.setBillTo(billTo2); USAddress shipTo2 = factory.createUSAddress(); shipTo2.setCity("Cambridge"); shipTo2.setCountry("US"); shipTo2.setName("Alice Smith"); shipTo2.setState("MA"); shipTo2.setStreet("123 Maple Street"); shipTo2.setZip(new BigDecimal(12345)); order2.setShipTo(shipTo2); Calendar orderDate2 = Calendar.getInstance(); orderDate2.set(2004, 06, 30); order2.setOrderDate(orderDate2); Items items2 = factory.createItems(); order2.setItems(items2); orders.getPurchaseOrder().add(order2); File outputFile = new File(getOutputDir(), "jaxbWrite.xml"); JAXBWriter jaxbWriter = new JAXBWriter("com.gbit.test.primer", OutputFormat.createPrettyPrint()); jaxbWriter.setOutput(outputFile); jaxbWriter.startDocument(); jaxbWriter.write(orders); jaxbWriter.endDocument(); } }
编译和执行虽然没有错,但是没有预期的结果出现。现在就是在想,应该是在POJO需要实现javax.xml.bind.Marshaller的接口类似的方法。
发表评论
-
xStream开发HTTP的XML内容
2013-07-03 09:58 10601、编写自定义XPPDriver代码: package ... -
AXIS2 开发示例
2013-06-28 17:10 1050实体类: package com.mport.entity ... -
HttpURLConnection or URLConnection post xml content to web server
2013-05-31 01:56 2064客户端示例1: package client; ... -
Axis2 体系结构
2012-06-19 12:34 1011前言 结构都是它本身所能产生效率的结果。任何一个成功 ... -
Axis 1.4 基于wss4j UsernameToken 的安全验证
2011-12-30 17:24 2470利用以下的wsdl文件生成客户端及服务端代码: < ... -
wss4j和axis2实现WS-Security(2)
2011-12-29 12:13 1091转自:http://hi.baidu.com/zhaopeng ... -
wss4j和axis2实现WS-Security(1)
2011-12-29 11:31 1201转自:http://hi.baidu.com/zhaopeng ... -
Using WS-Security with Axis (Java) v2006
2011-12-23 11:24 1562转自:http://www.arcwebservices.co ... -
[Java] Testing SOAP Headers with a Simple Axis Handler
2011-12-23 11:02 1165转自:http://weblogs.asp.net/jdanf ... -
Axis 1.4 将WSDL文件逆向后String数组只变成String
2011-12-22 08:26 2040这些天在对一个项目扩展功能时使用Axis 1. ... -
实现Axis web service 的数字证书认证(CLIENT-CERT)
2011-12-09 12:28 3733本文参考自:J2EE Web服务开发系列之十二: 实现安全的 ... -
实现Axis web service 的基本方式认证(BASIC)
2011-12-09 10:41 2190本文参考自:J2EE Web服务开发系列之十二: 实现安全的A ... -
生成SOAP消息示例
2011-09-27 11:36 11283调用 web service 时生成soap消息的区别, ... -
Axis 1.4 上传二进制文件(base64Binary)
2011-04-22 16:32 2045服务端代码: package samples.userg ... -
Axis 1.4 WSDL2Java、Java2WSDL的使用
2011-04-21 16:52 3447d:>java -classpath % ... -
在axis1.4中传递复杂类型数组参数(ArrayMapping)
2011-04-21 11:50 3748Axis1.4环境配置: 配置一些工具在命 ... -
axis2 学习(rpc)
2011-04-15 16:03 2157刚开始学习时,可不必考虑某些包的功能。我当前是把所有的包都导进 ... -
xfire 学习
2011-04-14 13:45 831我 -
使用dom4j修改xml元素
2011-02-21 15:47 12272预先编写一个xml文件book ... -
使用 dom4j编写一个简单输出到文件的例子
2011-02-21 15:03 1104代码编写是参考这篇文档: http://blog.csd ...
相关推荐
1. **DOM4J**: DOM4J 是一个非常灵活且功能强大的Java XML API,它提供了多种处理XML的方式,包括读取、写入、修改和操作XML文档。DOM4J支持SAX和DOM解析器,并且提供了比标准DOM API更高效和用户友好的接口。在Java...
7. **与JAXB集成**:DOM4J可以与Java Architecture for XML Binding (JAXB) 集成,方便地在XML和Java对象之间进行转换。 8. **与Spring框架集成**:在Spring框架中,DOM4J常用于配置文件的解析,例如Spring的bean...
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
在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....
- 源码包中包含DOM4J的全部源代码,可以学习其设计模式和实现细节。 - 开发者可以通过查看源码学习如何扩展DOM4J,创建自定义解析器或输出格式。 6. **与其他库的比较** - 相比于Java内置的DOM API,DOM4J更易于...
9. **JAXB集成**:DOM4J可以与Java的默认XML绑定框架JAXB进行集成,方便地将Java对象序列化为XML,或者反序列化XML为Java对象。 10. **JDOM兼容性**:这个压缩包中提到对jdom进行了封装,意味着DOM4J可能提供了一些...
**DOM4J 1.6.1:Java XML API的卓越选择** DOM4J是一个针对Java平台的开源XML处理库,版本1.6.1是其历史中的一个重要里程碑。这个库以其高性能、全面的功能和易用性而备受赞誉,使得XML处理在Java开发中变得更加...
虽然Java标准库中的JAXB和DOM API提供了XML处理的基础功能,但DOM4J因其简洁的API和强大的功能,成为了许多Java开发者首选的XML处理库。 总结,DOM4J-2.1.1.jar作为一款强大的XML处理工具,不仅具备了基本的XML操作...
5. **DOM4J与JAXB集成**:DOM4J可以与Java Architecture for XML Binding (JAXB) 集成,实现对象与XML之间的自动转换。 6. **XSLT转换**:DOM4J支持XSLT转换,可以将XML文档转换为其他格式,如HTML或PDF。 7. **...
6. **与JAXB集成**:dom4j可以与Java的XML绑定框架JAXB集成,实现XML与Java对象之间的自动转换,简化数据交换。 7. **性能与效率**:尽管dom4j基于DOM模型,但其设计考虑了性能优化,对于中等大小的XML文档,性能...
5. **与JAXB和JDOM兼容**:DOM4J可以方便地与这些其他的XML处理库进行集成。 **DOM4J的主要类和接口:** 1. **Element**:代表XML文档中的元素节点,是DOM4J的核心类。 2. **Document**:表示整个XML文档,包含根...
7. **JAXB集成**:DOM4J可以与Java Architecture for XML Binding(JAXB)集成,实现XML与Java对象之间的映射。 8. **转换和序列化**:DOM4J提供了XML到其他格式(如HTML或Text)的转换,并且可以将XML文档序列化为...
8. **与JAXB和JDOM的比较**:dom4j相比JAXB(Java Architecture for XML Binding)和JDOM,提供了更丰富的API和功能,同时在某些场景下性能更优,但JAXB和JDOM在特定任务上(如Java对象和XML之间的自动绑定)可能更...
- `dom4j-2.1.0-javadoc.jar`:这个文件包含DOM4J库的API文档,对于开发者来说,它是理解和学习DOM4J的重要参考资料。 - `dom4j-2.1.0-sources.jar`:这个文件包含了DOM4J源代码,开发者可以通过查看源码来深入...
除了DOM4J,`jaxen-1.1-beta-6.jar`文件是Jaxen库,这是一个XPath引擎,用于在各种XML API(包括DOM4J)之间提供统一的XPath实现。Jaxen使得开发者能够在不了解底层API的情况下,使用XPath来查找和操作XML文档,增强...
8. **JAXB集成**:DOM4J可以与Java Architecture for XML Binding (JAXB) 结合使用,方便XML和Java对象之间的转换。 在实际开发中,DOM4J常用于Web服务、配置文件处理、数据交换以及XML格式的数据持久化等方面。...
**DOM4J详解与实例应用** DOM4J是一款强大的Java XML处理库,它提供了一种灵活且高效的方式来处理XML文档。DOM4J以其简洁的API、高性能和丰富的功能,成为了许多Java开发者在处理XML时的首选工具。在这个实例中,...
DOM4J相较于JAXB(Java Architecture for XML Binding)和JDOM,更注重性能和灵活性。JAXB主要用于对象与XML之间的自动绑定,而JDOM则提供了一种基于树模型的XML处理方式,DOM4J在功能和易用性上相对更胜一筹。 7....
- **JAXB集成**:DOM4J可以与Java Architecture for XML Binding (JAXB) 集成,方便XML与Java对象之间的转换。 在实际开发中,DOM4J通常用于Web服务、配置管理、数据持久化等领域。尽管现在有其他XML处理库如JDOM2...