DOM4J对SOAP的返回信息解析

2023-11-02

用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;
	}
	
	
	
}


 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DOM4J对SOAP的返回信息解析 的相关文章

  • 如何成功地用 XML 中的批处理替换文本

    我尝试使用批处理在 XML 页面中替换字符串 但无法成功完全替换它 我有这个批处理代码 echo off setlocal EnableDelayedExpansion set search logLevel 3 set replace l
  • 在 ASP.NET 3.5 中使用 ASMX 文件的 WS-Security

    基本上 我需要设置 ASMX 文件 以便当我在浏览器中将其拉出以显示 WebMethod 规范时 Soap 标头符合以下格式
  • 如何在字符串vba中包含引号

    我想存储以下文本 Test1 Monday Test Abcdef 全部在字符串中包含引号 我知道要在字符串中包含引号 我必须包含 之前 但在这里这不是一个很好的解决方案 因为我在文本中有太多这样的解决方案 知道如何一次完成这一切吗 您有两
  • 如何在 xslt 2.0 中解析字符串到日期

    是否可以像这样转换字符串30042013 2013 年 4 月 30 日 日期格式 所以我可以稍后在类似的函数中使用它format date 就像托马拉克说的 你可以使用substring and concat 要构建一个字符串 您可以将其
  • 适用于 C/C++ 和 Java 的 Eclipse IDE

    我正在尝试在运行 El Capitan 的 Mac 上设置 Java IDE 但是我找到的安装程序要求我为 C C 和 Java 安装单独的 IDE Eclipse Neon Eclipse 有什么选项可以让我拥有一个支持多种语言的 IDE
  • 从另一列的子字符串创建列

    我有一个 Pandas 数据框对象 我想从现有列的子字符串创建新列 我的数据如下所示 Date variable want1 want2 want3 0 02 01 08 Australia Sydney A Australia Sydne
  • Swift:检查 UISearchBar.text 是否包含 url

    如何检查 UISearchBar text 是否包含 URL 我想做这样的事情 if searchBar text NSTextCheckingType Link 但我收到错误 String is not convertible to NS
  • 十六进制字符串的运行长度编码(包括换行符)

    我正在使用以下方法实现游程长度编码GZipStreamC winforms 应用程序中的类 数据以一系列由换行符分隔的字符串形式提供 如下所示 FFFFFFFF FFFFFEFF FDFFFFFF 00FFFFFF 在压缩之前 我将字符串转
  • Eclipse 中选定单词的括号

    几天前 我觉得这个问题很愚蠢 所以不要将其发布在这里 但即使在搜索了很多之后 我也没有找到合适的解决方案 对于那些使用过的人TextEdit 在 Mac 上 他们会完全知道我在说什么 在编码时 我只想在单词或一行上加上引号或括号 为此 我必
  • 当对phonegap应用程序进行更改时,Eclipse不更新apk

    已经有人问过这个问题 但没有一个答案有效 例如清理 刷新 更改版本号等 当对源文件进行更改时 Eclipse 不会重建 android 项目 这是一个phonegap应用程序 如果我更改html文件甚至java代码 我仍然得到相同的apk
  • Java:同步标准输出和标准错误

    我有一个奇怪的问题 如果我能解决它就好了 出于调试目的 以及其他一些事情 我在标准输出上编写控制台 Java 应用程序的日志 有些内容写在标准输出上 有些内容 例如错误 打印在标准错误上 问题是这两者并不完全同步 因此打印行的顺序并不总是正
  • 为什么是 ”\?” C/C++ 中的转义序列?

    C C 中有四种特殊的非字母字符需要转义 单引号 双引号 反斜杠 和问号 显然是因为它们有特殊的含义 对于单身char 对于字符串文字 对于转义序列 但为什么是 其中之一 我今天读了教科书上的转义序列表 我意识到我已经never逃脱了 以前
  • 如何在代理后面安装 Eclipse Neon

    对于 Neon Eclipse 附带了一个安装程序 我在安装程序中找不到任何配置菜单 我的java版本是 java version java version 1 8 0 72 Java TM SE Runtime Environment b
  • 如何检测 Java 字符串中的 unicode 字符?

    假设我有一个包含 的字符串 我如何找到所有这些 un icode 字符 我应该测试他们的代码吗 我该怎么做呢 例如 给定字符串 A X 我想将其转换为 AYXY 我想对其他 unicode 字符做同样的事情 并且我不想将它们存储在某种翻译映
  • 正则表达式查找字符串中的整数和小数

    我有一个像这样的字符串 str1 12 ounces str2 1 5 ounces chopped 我想从字符串中获取金额 无论它是否是小数 12 或 1 5 然后获取紧邻的前一个测量值 盎司 我能够使用一个非常基本的正则表达式来获取测量
  • 使用字符串中的变量名称访问变量值,R

    Intro 一个数据集有大量的age year变量 age 1990 age 1991 etc 我有一个字符串值数组length age years 表示这些变量 使得age years 1 回报 age 1990 etc Need 我想搜
  • 如何将字符串日期转换为 NSDate?

    我想转换字符串 2014 07 15 06 55 14 198000 00 00 to an NSDate在斯威夫特 尝试这个 let dateFormatter NSDateFormatter dateFormatter dateForm
  • 如何在 Eclipse 中使用其他外部 jar 依赖项创建不可运行/不可执行的 jar

    我无法通过 Eclipse 导出向导创建普通的 jar 不可运行 不可执行 它仅创建 jar 文件 但不会导出依赖的 jar 从而在从其他类调用导出的 jar 的方法时出现错误 请帮助 非常感谢 kurellajunior的建议 它是通过使
  • 未解决的包含:“cocos2d.h” - Cocos2dx

    当我在 Eclipse 中导入 cocos2dx android 项目时 我的头文件上收到此警告 Unresolved inclusion cocos2d h 为什么是这样 它实际上困扰着我 该项目可以正确编译并运行 但我希望这种情况消失
  • XSL字符串多重替换功能

    如何让这个函数进行多重替换 经验 替换aaa with 111并替换bbb with 222 etc

随机推荐

  • 组合排列——回溯法的实践

    一 模板 对于回溯问题 可以给一个模板 result def backtracking 参数 if 终止条件 result add 路径 return for 选择 本层集合中元素 树中节点孩子的数量就是集合的大小 处理节点 backtra
  • 微信小程序 组件间关系

    完整微信小程序 Java后端 技术贴目录清单页面 必看 定义和使用组件间关系 有时需要实现这样的组件
  • Linux 压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法

    Linux 压缩 解压文件的 4 种方式 tar gzip gunzip zip unzip 7z命令使用方法 文章目录 Linux 压缩 解压文件的 4 种方式 tar gzip gunzip zip unzip 7z命令使用方法 1 t
  • JS 读写文件

    用js不能直接读取文件 但是可以利用浏览器提供的activex来实现读写文件的方法 只在IE下测试过 其他浏览器下的activex对象不太清楚 可以网上搜一下 具体读写文件的代码如下 function createAndReadFile v
  • UE4 - 海洋材质水下效果的修改

    屏幕前的污渍MASK修改位置如下 水下扭曲效果 强度修改位置如下 这里改0 1是无效的 只有0和1的区别 如果要调整波纹强度 需要到材质里修改 500的强度改为200 或者100 就很弱了 镜头光晕增加的地方
  • ThreadLocal与InheritableThreadLocal的实现原理

    文章目录 ThreadLocal介绍 使用方式 set 问题 InheritableThreadLocal介绍 源码 方案 ThreadLocal介绍 threadLocal的特点就是与线程绑定 一般通过这种隐式传参的方式来传递上下文 比如
  • vue实现高德地图点聚合功能

    效果截图展示 高德地图点聚合功能 1 创建地图 new AMap Map 示例 this map new AMap Map container resizeEnable true 是否监控地图容器尺寸变化 center 105 34 初始化
  • 终于来了!耗时268天,7大模块、2983页58万字,Android开发核心知识笔记!对标阿里P7!

    版权声明 本文为博主原创文章 未经博主允许不得转载 https www jianshu com u 3348b92f77a4 前言 转眼就快到 金九银十 又是个面试求职的黄金期 近来许多网友都在求一份完整 系统的学习资料和最新的大厂面试真题
  • Objective-C中的@dynamic

    Objective C中的 dynamic 一 dynamic与 synthesize的区别 property有两个对应的词 一个是 synthesize 一个是 dynamic 如果 synthesize和 dynamic都没写 那么默认
  • 【Linux】线程池

    文章目录 1 线程池概念 2 线程池的优点 3 线程池的应用场景 4 线程池的实现 5 STL和智能指针和线程安全 5 1其他常见锁 5 2读写锁 1 线程池概念 线程池是一种线程使用模式 线程过多会带来调度开销 进而影响缓存局部性和整体性
  • Linux UDP编程流程

    文章目录 UDP编程流程 UDP协议无连接的特点 UDP协议数据报的特点 UDP编程流程 UDP 提供的是无连接 不可靠的 数据报服务 服务器端和客户端没有什么本质上的区别 编程流程如下 socket 用来创建套接字 使用 udp 协议时
  • 友盟埋点详解

    数据埋点让产品或运营等相关人员能按照具体的需求 定制性地统计较为复杂的用户数据 例如想要追踪用户的行为 观察页面相关点击数据 关键路径转化率 分析某个事件活动效果时 就需要事先进行数据埋点 关于友盟的初始化配置不是此文的重点 网上一搜一堆的
  • Pycharm配置——解释器(interpreter)

    今天打开pycharm运行一段代码 结果遇到了这个问题 以上应该是没有配置解释器的问题 那我是怎么解决这个问题的呢 1 打开文件 File 2 打开设置 Setting 3 打开新project的默认设置 4点击project Interp
  • vue3使用高德地图api,海量点,多边形围栏,热力图,轨迹线(二)

    五 MassMarks海量点标记 let mass 此处我定义了6种海量点图标 此处url我用的是项目中本地引入的图片 也可以填在线url链接 props infoList是项目后端返回的所有点的信息数组 其中每个点对象有个style字段
  • ArcGIS Pro 一打开Notebook笔记本工具软件就崩溃(停止运行)

    先说结论 如果对于ArcGIS Pro的笔记本工具 包括新建 添加 打开等一切操作 只要一点开 ArcGIS Pro就停止运行 一个可能的原因是Temp文件夹或者是其他文件的路径中有中文 可以尝试将路径修改为全英文 再次运行 其实这个问题是
  • 程序员的自我修养--链接、装载与库笔记:可执行文件的装载与进程

    可执行文件只有装载到内存以后才能被CPU执行 1 进程虚拟地址空间 程序和进程有什么区别 程序 或者狭义上讲可执行文件 是一个静态的概念 它就是一些预先编译好的指令和数据集合的一个文件 进程则是一个动态的概念 它是程序运行时的一个过程 很多
  • centos开放端口号的常用命令

    1 开放端口 firewall cmd zone public add port 5672 tcp permanent 开放5672端口 firewall cmd zone public remove port 5672 tcp perma
  • spring cloud项目升级spring boot 2.0爬过的坑

    注 升级后spring boot为2 0版本 spring cloud为Finchley M8版本 2 0官方文档地址 https docs spring io spring boot docs current reference html
  • 活动报名丨LLaMA一作:如何构建开源高效的基础语言模型(智源Live 38期)

    4月26日 星期三 下午16 00 17 30 智源LIVE 第38期 线上活动上 Meta AI研究科学家 LLaMA一作Hugo Touvron将分享 LLaMA Open and Efficient Foundation Langua
  • DOM4J对SOAP的返回信息解析

    用DOM4J的XML解析式拿不到节点的 所以网上利用DOM4J提供的VisitorSupport解决此问题 不废话 直接看代码 package com starhub util import org dom4j Document impor