`
rabby
  • 浏览: 165606 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

xml、OMElement、java对象之间转换

阅读更多
import java.io.ByteArrayInputStream;

import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.impl.builder.StAXOMBuilder;
import org.apache.axis2.databinding.utils.BeanUtil;
import org.apache.axis2.engine.DefaultObjectSupplier;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;

public class XMLUtil
{
    /**
     * 
     * @author : zKF27092
     * @version: 1.0
     * 

时间 : 2010-12-15

*

描述 : 将XML字符串转换成对象

*

实现方法:将XML字符串转换成对象

*

Copyright 1988-2005, Huawei Tech. Co., Ltd.

* @param <T> * @param xml XML字符串 * @param cls 返回类型 * @return */ @SuppressWarnings("unchecked") public static <T> T xmlToBean(String xml, Class<T> cls) { T object = null; try { OMElement omElement = new StAXOMBuilder(new ByteArrayInputStream( xml.getBytes("UTF-8"))).getDocumentElement(); object = (T) BeanUtil.processObject(omElement, cls, null, true, new DefaultObjectSupplier()); } catch (Exception e) { e.printStackTrace(); } return object; } /** * * @author : zKF27092 * @version: 1.0 * <p>时间 : 2010-12-15</p> * <p>描述 : 将soap返回报文转换成对象</p> * <p>实现方法:将soap返回报文转换成对象</p> * <p>Copyright 1988-2005, Huawei Tech. Co., Ltd.</p> * @param <T> * @param xml XML字符串 * @param elementName 对象XML根元素的名称 * @param cls 返回类型 * @return */ @SuppressWarnings("unchecked") public static <T> T xmlToBean(String xml, String elementName, Class<T> cls) { T object = null; try { Document document = DocumentHelper.parseText(xml); String beanXml = document.getRootElement().element("Body").element( elementName).asXML(); OMElement omElement = new StAXOMBuilder(new ByteArrayInputStream( beanXml.getBytes("UTF-8"))).getDocumentElement(); object = (T) BeanUtil.processObject(omElement, cls, null, true, new DefaultObjectSupplier()); } catch (Exception e) { e.printStackTrace(); } return object; } } 
0
2
分享到:
评论
2 楼 suncf1985 2013-04-02  
hongshenghome 写道
BeanUtil.processObject这个方法好像有6个参数啊,最后一个是什么啊?


置为 null 即可
1 楼 hongshenghome 2012-10-23  
BeanUtil.processObject这个方法好像有6个参数啊,最后一个是什么啊?

相关推荐

    AXIS2中OMElement和Java对象之间的转换

    AXIS2 中 OMElement 和 Java 对象之间的转换 ...AXIS2 中的 OMElement 和 Java 对象之间的转换是非常重要的,通过使用 AXIOM,我们可以提高 XML 处理期间的内存使用率和性能,并且可以大大提高 AXIS2 的性能和扩展性。

    Axis2的OMElement SOAP XML报文节点首字母小写转大写(注意,是节点,不是节点元素的值) java

    Axis2中的OMElement是用于表示XML元素的类,它是Apache Axis2对象模型(Object Model)的一部分。OMElement提供了丰富的API,用于操作和构建XML文档。要实现节点首字母小写转大写的转换,我们需要遍历整个SOAP XML...

    xml字符串转换为xml文档并解析。

    一般银行返回的字符串为xml报文,需先转换为xml文档方便解析。

    axis2客户端编码,RPC,OMElement,上传下载实现,服务端验证

    Apache Axis2是Java环境中广泛使用的Web服务框架,它支持SOAP(简单对象访问协议)和RESTful(代表性状态转移)服务。客户端编码通常涉及创建Stub类、配置服务地址以及调用远程服务的方法。 “RPC”代表远程过程...

    axiom-impl-1.2.11.jar.zip

    4. **StAXSource/StreamResult**: Axiom与StAX API的接口,允许用户在Axiom对象和StAX事件之间转换,提供了高效的XML读写能力。 5. **OMOutputFormat**: 控制XML输出的格式,如缩进、新行等。 "axiom-impl-1.2.11....

    WebServiceDemo-Axis2

    通过OMElement,我们可以精细控制这个转换过程,确保用户对象的每个字段都能正确地映射到XML结构。 在"testWSServerByAxis2"这个文件中,我们可以找到部署和测试Axis2 Web服务的相关代码和配置。这些文件可能包括...

    axiom-api-1.2.jar.zip

    同时,Axiom还提供了序列化和反序列化的功能,方便XML文档与OM对象之间的转换。 压缩包内附带的"LICENSE.txt"文件,通常包含了软件的授权协议信息。对于开源项目如Apache Axiom,这通常会是Apache License 2.0,该...

    Web Services & Axis2.zip(2011年度巨献)

    7. **OMElement和java对象之间的转换.doc** - Axis2使用OM(Object Model)元素来处理XML,这份文档可能解释了如何在Java对象和OMElement之间进行转换,这对于处理XML数据至关重要。 8. **Java.Web服务开发(必学)...

    axiom-impl-1.2.8.jar.zip

    - 序列化:将OMElement转换为XML字符串或写入文件。 - 解析XML:通过OMXMLBuilderFactory创建解析器,读取XML数据并转化为OMElement对象。 - 操作XML:利用OMElement提供的API进行查找、修改、删除等操作。 5. ...

    axiom api

    当收到SOAP请求时,Axis2会使用Axiom解析XML消息,然后将其转换为Java对象进行业务逻辑处理。反之,当需要发送响应时,Axiom会将Java对象转化为SOAP消息。 在标签"axis2 axis"中,我们可以看到Axiom API是Axis2的...

    axiom-api-1.1.jar.zip

    Axiom全称为Apache AXIOM(Advanced eXtensible Information Model),它是Apache软件基金会的一个开源项目,提供了一个基于StAX(Streaming API for XML)的XML对象模型实现。Axiom的设计目标是提供一个高性能、可...

    axiom-api-1.2.1.jar.zip

    引入依赖后,就可以在项目代码中直接使用Axiom API提供的功能,如创建XML文档、解析XML流或进行XML转换等。 总之,"axiom-api-1.2.1.jar.zip"是Apache Axiom API的一个版本,它提供了强大的XML处理能力,适用于需要...

    axiom-dom-1.2.8.jar.zip

    3. **类型感知**:Axiom DOM支持XML Schema定义的类型信息,允许在运行时进行类型检查和转换。 4. **接口兼容性**:尽管Axiom DOM有自己的API,但它也完全兼容W3C DOM API,使得迁移和集成更加方便。 三、Axiom ...

    通向架构师的道路(第十天)之Axis2 Web Service(一).docx

    * 在服务端代码中,首先需要引入 org.apache.axiom.om.OMElement、org.apache.axis2.AxisFault、javax.xml.stream.XMLStreamException 等类。 * 使用 OMElement 对象来构建消息体,然后使用 sayHello 方法来处理请求...

    SOAP的Client调用Axis服务

    OMElement是Apache Axis2中的一个关键类,用于构建和操作XML文档,它是构建SOAP消息的基础。至于上传下载实现,这可能涉及到文件传输的场景,客户端可能需要将文件数据转换为SOAP消息的一部分,服务端则负责接收和...

    通向架构师的道路(第十二天)之Axis2 Web Service(三).docx

    在Axis2中,可以通过抛出特定类型的异常,让Axis2自动转换成SOAPFault。 3. **使用SWA(Soap With Attachment)** SWA允许在SOAP消息中附加非XML数据,如图像或文件。在Axis2中,可以利用MTOM(Message ...

Global site tag (gtag.js) - Google Analytics