`
wangking717
  • 浏览: 262505 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

DOM4J对SOAP的返回信息解析

阅读更多

用DOM4J的XML解析式拿不到节点的。所以网上利用DOM4J提供的VisitorSupport解决此问题。不废话,直接看代码:

 

package com.starhub.util;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.VisitorSupport;


public class SOAPUtil extends VisitorSupport{
	
	private String eaId;
	private String tranId;
	private String response;
	private String msisdn;
	
	public void visit(Element node) {
		
		if ("EAID".equals(node.getName())) {
			this.setEaId(node.getText());
		}else if("Response".equals(node.getName())){
			this.setResponse(node.getText());
		}else if("TranID".equals(node.getName())){
			this.setTranId(node.getText());
		}else if("MSISDN".equals(node.getName())){
			this.setMsisdn(node.getText());
		}
		
	}
	
	public static void main(String[] args) {
		String soapResponse = "<SOAP-ENV:Envelope\r\n" +
		"xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\""+
		" SOAP-ENV:encodingStyle=\"\">"+
		"<SOAP-ENV:Body>"+
		"<EAID>GameCode_ext</EAID>"+
		"<TranID>11102</TranID>"+
		"<Response>0100</Response>"+
		"</SOAP-ENV:Body>"+
		"</SOAP-ENV:Envelope>";
		
		SOAPUtil util = new SOAPUtil();
		
		try {
			util.analysis(soapResponse);
		} catch (DocumentException e) {
			e.printStackTrace();
		}
		
		System.out.println(util.getEaId());
		
		
	}
	
	public void analysis(String soapContent) throws DocumentException {
		Document doc = DocumentHelper.parseText(soapContent);
		doc.accept(this);
	}

	public String getEaId() {
		return eaId;
	}
	public void setEaId(String eaId) {
		this.eaId = eaId;
	}
	public String getTranId() {
		return tranId;
	}
	public void setTranId(String tranId) {
		this.tranId = tranId;
	}
	public String getResponse() {
		return response;
	}
	public void setResponse(String response) {
		this.response = response;
	}
	public String getMsisdn() {
		return msisdn;
	}
	public void setMsisdn(String msisdn) {
		this.msisdn = msisdn;
	}
	
	
	
}

 

参考资料:

http://www.blogjava.net/ITdavid/archive/2008/01/16/175646.html

分享到:
评论

相关推荐

    利用DOM4J解析SOAP的简单示例

    本篇文章将深入探讨如何利用DOM4J解析SOAP消息中的元素,以便在实际项目中进行有效的数据提取和操作。 首先,理解SOAP消息的结构至关重要。一个典型的SOAP消息如下所示: ```xml &lt;soap:Envelope xmlns:soap=...

    dom4j-2.0.2.rar 解析jar下载

    这个“dom4j-2.0.2.rar”压缩包包含了DOM4J库的版本2.0.2,这是一个流行的版本,具有对Java集合框架的良好集成以及对Java 5及以上版本的支持,包括泛型的使用。 DOM4J的核心概念主要围绕XML文档对象模型(Document ...

    java进行Vmware ESXI开发所需的基础jar包,包含vim25,dom4j,vijava

    在VMware ESXi开发中,由于vim25和vijava的API响应通常是以XML格式返回,因此dom4j库非常重要。它可以解析返回的XML数据,帮助开发者轻松提取出需要的信息,或者构建请求时构造XML格式的参数。`dom4j-2.0.1-sources....

    webservice客户端请求, 以及解析xml

    在IT行业中,Web服务是应用程序...通过HttpClient发送SOAP请求,并利用Dom4j解析返回的XML数据,可以有效地与Web服务进行交互并处理结果。理解并掌握这些技术对于任何Java开发者在处理Web服务集成时都是至关重要的。

    Dom4jTest.rar_xml/soap/webservice_Java_

    服务端暴露一个URL,客户端可以通过HTTP POST请求发送SOAP消息到这个URL,服务端接收到消息后,使用DOM4J解析XML,执行相应的业务逻辑,再返回响应的SOAP消息。 在实际应用中,Web服务可能还需要考虑安全性、性能...

    java soap server

    客户端则使用SOAP客户端库来构造SOAP消息,发送到服务器,并解析服务器返回的响应。这些库通常会自动处理XML编码、SOAP enveloping以及网络传输等细节。 总结来说,Java SOAP Server的实现依赖于这些核心库,它们...

    xerces.jar.zip

    在Java环境中,xerces.jar为开发者提供了强大的XML处理功能,包括DOM(Document Object Model)、SAX(Simple API for XML)和DOM4J等API,便于进行XML数据的读取、解析和生成。 在Apache SOAP中,xerces.jar作为...

    WebService所需Jar包

    5. **JDOM, DOM4J, XOM等XML解析库**:这些库提供了处理XML文档的不同方式,比如JDOM提供了Java对象模型来操作XML,DOM4J是基于DOM的解析器,而XOM提供了一个更简洁的API。虽然JAX-WS默认使用DOM,但有时候开发者...

    天气预报Web Services

    在这个服务中,DOM4j被用来解析从新浪天气预报页面抓取的XML数据,提取出如城市、温度、湿度等天气信息。 3. **Web Services接口设计**:开发者可能定义了一套API接口,包括方法和参数,使得外部程序可以调用这些...

    WebService Axis客户端调用接口需要用到的jar包

    2. **axis-wsdl4j.jar**:这个jar包包含了wsdl4j库,用于解析和处理WSDL文件。它帮助客户端从WSDL文档中获取服务的地址、操作方法和消息结构等信息。 3. **activation.jar**:该jar包提供了JavaBeans Activation ...

    XML.rar_XML java_java call_java xml_xml 读写_xml读写 java

    DOM4J提供了一套完整的DOM、SAX和JDOM接口,便于XML处理;另外,Java标准库中的javax.xml.parsers和org.w3c.dom包也提供了基本的XML读写支持。 在实际开发中,XML常用于配置文件、数据交换、SOAP(Simple Object ...

    XML编程从入门到精通(PDF)

    8. **DOM4J和JDOM**:在Java开发中,DOM4J和JDOM是常用的XML处理库,提供了方便的API进行XML解析、操作和生成。 9. **XML与JSON**:虽然XML功能强大,但JSON因其简洁性和易用性在现代Web应用中更为流行。两者各有...

    XML学习指南

    XML的解析库和工具很多,如Java的JAXB、DOM4J,Python的lxml,JavaScript的DOMParser等。学习XML,不仅要理解其基本语法,还需要掌握解析和处理XML的方法,以及如何利用XML实现数据交换和存储。 总结来说,XML是一...

    安卓含定位天气预报实现

    数据解析可能涉及XML解析库如TinyXML或DOM4J,或JSON解析库如Gson或Jackson,将接收到的数据转化为可操作的Java对象。 4. **百度地图API**: 百度地图API提供了一系列服务,包括定位、路线规划、地理编码等功能。...

    XML 高级编程

    - **DOM4J、JDOM**:Java平台上的XML处理库。 - **lxml**:Python中的高效XML处理库。 - **XML Schema Tools**:用于生成或验证XSD的工具,如XMLSpy。 在“XML高级编程”中,你会学习如何有效地利用这些概念和...

    java axis调用第三方webservice程序demo

    这些库通常包括axis.jar、axis-wsdl4j.jar、commons-discovery.jar、commons-logging.jar、jaxrpc.jar和wsdl4j.jar等。这些库包含了处理SOAP消息、解析WSDL文件以及与Webservice交互所需的所有功能。 2. **获取WSDL...

    WebServicePC

    Android提供了Gson库用于解析JSON,对于XML,可使用如Jackson或Dom4j进行解析。 5. **异常处理**:考虑网络不稳定或服务器错误的情况,需编写异常处理代码。 6. **异步处理**:为了防止网络操作阻塞主线程,通常在...

    Java开发WebService实例

    此代码片段展示了如何通过DOM4J库读取XML文件,以及如何在Java中处理可能出现的异常情况。 #### 总结 本文通过具体的Java代码示例,详细介绍了在Tomcat环境下利用Apache Axis框架开发WebService的方法。从环境搭建...

    超级有影响力霸气的Java面试题大全文档

    4. 多态性:  多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 5、String是最...

Global site tag (gtag.js) - Google Analytics