记:使用DefaultXPath解析soap返回的XML_yuezhuo_752的博客-程序员宅基地

技术标签: XPath  java  XML解析  DefaultXPath  webservice  soap  

使用soap请求服务后返回xml格式的内容,使用DefaultXPath来解析获取数据。

XPath用于在 XML 文档中通过元素和属性进行导航,并对元素和属性进行遍历,它可以方便开发者抓起文档中需要的东西。

org.dom4j.Document doc = org.dom4j.DocumentHelper.parseText(result);
			DefaultXPath xpath = new DefaultXPath("//ExecCmdReturn");
			xpath.setNamespaceURIs(Collections.singletonMap("ns1",
					"iptv"));
			List list = xpath.selectNodes(doc);
			Iterator iterator = list.iterator();
//			System.out.println(list.size());
			while (iterator.hasNext()) {
				org.dom4j.Element resultElm = (org.dom4j.Element) iterator.next();
				List<org.dom4j.Element> eList = resultElm.elements();//获取ExecCmdReturn下面的所有子节点
				for (int i = 0; i < eList.size(); i++) {
					org.dom4j.Element e = eList.get(i);
					String value = e.getStringValue();
					System.out.println("name: "+e.getName()+" value: "+value);
					if (e.getName().equalsIgnoreCase("Result")) {
						Result = value;
					}else if (e.getName().equalsIgnoreCase("ErrorDescription")) {
						ErrorDescription = value;
					}
				}
			}

1、DefaultXPath xpath = new DefaultXPath("//ExecCmdReturn");

填入的内容为获取该标签下面的内容,如果下面还有子标签,用resultElm.elements()获取ExecCmdReturn下面的所有子节点

2、xpath.setNamespaceURIs(Collections.singletonMap("ns1", "iptv"));

改方法为设置xml里的命名空间,一般都是头标签里的xmlns中ns1内容或ing内容。例:

Collections.singletonMap("ing","http://IngestAssetService.homed.ipanel.cn")

"ns1", "iptv"

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yuezhuo_752/article/details/85950733

智能推荐

struct struct_tiny-sf的博客-程序员宅基地

/** *struct subsys_private-这个结构体用来存储驱动核心部分的私有数据(bus_type和calss strcuture) * @subsys - 用来定义子系统的kset的结构体 * @devices_kset - 子系统的设备目录 * @interfaces - 子系统接口的关联的链表 * @mutex - 保护设备和接口链表 * @drivers_kset

Java学习笔记6--类与对象_北冥有鱼zsp的博客-程序员宅基地

6.1 面向对象概述面向对象的3个核心特性是封装性,继承性,多态性。6.2 类结构6.2.1 类的定义声明类的语法格式如下:[public ][abstract |final ] class &amp;lt;class_name&amp;gt; [extends &amp;lt;class_name&amp;gt; ][implements &amp;lt;interface_name&amp;gt; ] { ...

解决关于mysql 常见错误: SQL Error: 1366: Incorrect string value: \xE8\xAF\xA6\xE7\xBB\x86: for column_写代码的资资的博客-程序员宅基地

当遇到无法往数据库插入中文的时候,常常伴随出现SQL Error: 1366: Incorrect string value: \xE8\xAF\xA6\xE7\xBB\x86: for column这类的错误报告解决方法如下1、查看数据表这是我建立的一个数据表,大家着重注意adress的**“排序规则”**,为latin1_swedish_ci2、插入数据当遇到无法往数据...

mysql socket启动_修改socket文件, MySQL启动报错_weixin_39900023的博客-程序员宅基地

事情是这样的, 我要搭建MySQL主从, 做读写分离, 然后就要了一台服务器搭建mysql, 最近犯懒, 就寻思搞一个二进制的吧直接启用一堆问题就出现了[ERROR] Can't start server : Bind on unix socket: Permission denied2018-09-29 11:06:08 139967966996352 [ERROR] Do you alread...

3.8关于向WorldWind地球模型添加图层_upcdxlq的博客-程序员宅基地

1、地球模型Earth(Globle):这个球并不会画出来,它的作用就是提供椭球体模型的参数,然后计算出变换矩阵,这样以来,顶点数据通过这样的变换就能以球体的模式加以显示了!2、图层:常用的图层类包括TiledImageLayer,MercatorTiledImageLayer,还有RenderableLayer。前两个图层主要用来加载地图服务,WMS,WMTS等,RenderableLayer的...

Sharepoint2013搜索学习笔记之自定义结果显示模板(九)_weixin_30628801的博客-程序员宅基地

搜索结果通过套用定义好的显示模板来展示结果,显示模板由js和html组成,我们可以通过修改显示模板,然后将修改好的显示模板跟搜索结果绑定起来,来修改搜索结果的显示效果,例子如下图:修改前 修改后 第一步,确定显示需要修改的显示模板,打开ie,摁f12,定位到搜索结果列表项找到需要修改的搜索项模板第二步,从搜索中心进入网站设置页面第三...

随便推点

Terrain Splatting_pizi0475的博客-程序员宅基地

<br />Terrain Splatting <br />spalatting技术指的是在terrain中给指定的tile贴纹理,并且所纹理之间是非线性过渡的.这种技术基本上不耗费CPU,通过显卡多次渲染同一个三角形,在帧缓存中合成纹理.<br />基础Splatting<br />把terrain分成若干个块,对每个块,找出影响它的所有贴图,即块中所有单元(一个或多个tile,取决于你的粒度)所用的贴图和紧邻这个块的单元所使用的贴图.这就是所谓的"splat块"和"splat纹理".为每个块创建顶点缓存

iPhone上的Base64和3DES_gf771115的博客-程序员宅基地

这篇文章是对Base64和3DES算法以及他们如何在iphone平台上实现的一点总结。本文吸收了很多前人的资料和成果,在修正了其中的一些错误的基础上添加了自己的理解。在此向前人出色的工作表示感谢。本文主要参考资料如下:http://blog.csdn.net/ishow99/

袁琳 湖北 计算机 导师,袁琳_weixin_39915308的博客-程序员宅基地

教育经历:1991-1995河南师范大学,学士1995-2001中国科学院上海植物生理生态研究所,博士2001-2003美国Johns Hopkins University,博士后2003-2010武汉理工大学,副教授2010-苏州大学,教授研究兴趣:功能纳米材料合成及其生物学活性;细胞与高分子材料在生物表界面的分子识别;高分子表面生物功能诱导。近年发表论文:1.Feng Liu, Yuechen...

阿里云使用swiftmailer不能发送邮件_wuyoulv的博客-程序员宅基地

报错:Connection could not be established with host smtp.163.com [ #0]不能正常发送的代码:&amp;lt;?phprequire_once './vendor/autoload.php';$su = 'register';$ge = '[email protected]';$co = 'Please regis...

java水果忍者7723_水果忍者v1.7.6版_项天鹰的博客-程序员宅基地

快速搜索机型:诺基亚 N73系列(240×320)N73 5320 5320XM 5320di_XM 5630XM 5700 5700XM 5710XM 5730XM 6110 6110N 6120 6120C 6120ci 6121 6122C 6124C 6210S 6210ci 6220C 6290 6650F 6700S 6702S 6710N 6720C 6730c 6788 6788I...

30岁之前一定要知道的7个金融概念-千氪_lidiya007的博客-程序员宅基地

    30岁是人生的一个分水岭,到了30岁,我们需要合理的规划自己的财务,按需进行理财,今天千氪专栏作者“微金融”和大家分享的就是7个金融概念基础知识,希望对大家有帮助。1、资产净值  资产净值 = 总资产 — 总负债,通过资产净值可以衡量自身的财务健康状况,如果你的资产净值为正,则说明你的财务状况良好;如果你的资产净值为负,那么你就该努力解决一下。2、流动性  流动性衡量资...

推荐文章

热门文章

相关标签