Java解析xml的响应报文

Java解析xml的响应报文响应报文返回信息:<?xmlversion=”1.0″encoding=”GBK”?><ROOT><HEAD><DemoCode></DemoCode><ChanCode>11</ChanCode><DemoCent></DemoCent><DemoGlb></DemoGlb><DemoBank>&l

大家好,又见面了,我是你们的朋友全栈君。

响应报文返回信息:

<?xml version="1.0" encoding="GBK"?>

<ROOT>
  <HEAD>
    <DemoCode></DemoCode>
    <ChanCode>11</ChanCode>
    <DemoCent></DemoCent>
    <DemoGlb></DemoGlb>
    <DemoBank></DemoBank>
    <DemoTell></DemoTell>
    <Code>000</Code>
    <Msg>交易成功</Msg>
    <Date>20200909</Date>
    <Time>093035</Time>
    <TrsCode>6029</TrsCode>
    <TrsChild></TrsChild>
    <DemoSerial>1599615034960</DemoSerial>
  </HEAD>
  <BODY>
    <total>500</total>
    <pagesize>19</pagesize>
    <rows>
      <xh>70</xh>
      <demo>1310000000</demo>
      <company>阿里巴巴</company>
      <zxjedhwe>C11112</zxjedhwe>
    </rows>
    <rows>
      <xh>71</xh>
      <demo>13110000000</demo>
      <company>宇宙无敌天下商会</company>
      <zxjedhwe>C11114</zxjedhwe>
    </rows>
    <rows>
      <xh>72</xh>
      <demo>140900000</demo>
      <company>娃哈哈有限公司</company>
      <zxjedhwe>C11111</zxjedhwe>
    </rows>
  </BODY>
</ROOT>

采用DOM4J解析

特征:

1、JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能。

2、它使用接口和抽象基本类方法。

3、具有性能优异、灵活性好、功能强大和极端易用的特点。

4、是一个开放源码的文件

以下是解析代码:

	/** * 解析响应报文 * * @param resMsgXml 响应报文xml * @return * @throws Exception */
	private static ResultJson parsingXml(String resMsgXml) throws Exception { 
   
		JSONObject json = new JSONObject();
		Document doc = DocumentHelper.parseText(resMsgXml); // 将字符串转为XML
		Element rootElt = doc.getRootElement(); // 获取根节点
		Iterator iter = rootElt.elementIterator("HEAD"); // 获取根节点下的子节点head
		// 遍历head节点
		while (iter.hasNext()) { 
   
			Element recordEle = (Element) iter.next();
			String resCode = recordEle.elementTextTrim("Code"); // 拿到head节点下的子节点值
			if (!("000".equals(resCode))) { 
   
				log.info("解析报文返回失败信息resMsgXml:" + resMsgXml);
				String resMsg = recordEle.elementTextTrim("Msg"); // 拿到head节点下的子节点值
				return ResultJson.setErrorMsg(resMsg);
			}
		}
		Iterator iterss = rootElt.elementIterator("BODY"); //获取根节点下的子节点body
		// 遍历body节点
		List<Object> list = new ArrayList<>();
		while (iterss.hasNext()) { 
   
			Element book = (Element) iterss.next();
			Iterator iterss2 = book.elementIterator("rows"); //获取body节点下的子节点rows
			while (iterss2.hasNext()) { 
   
				Element recordEless = (Element) iterss2.next();
				String fileName = recordEless.elementTextTrim("company");
				JSONObject jsonObject = new JSONObject();
				jsonObject.put("company",fileName);
				list.add(jsonObject);
			}
		}
		if(list.size()>0){ 
   
            return ResultJson.setSucessData(list);
        }
		return ResultJson.setErrorMsg("没有信息");
	}

XML解析——Java中XML的四种解析方式

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145119.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • stm32直流电机控制—PID算法篇

    stm32直流电机控制—PID算法篇stm32直流电机控制—PID算法篇提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章Python机器学习入门之pandas的使用**加粗样式*提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录stm32直流电机控制—PID算法篇前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了

    2022年5月7日
    46
  • linux history|grep 操作

    linux history|grep 操作linux下查询之前用过的命令。history|grepamasshistory|greplshistory|grep“ls-a”

    2022年7月13日
    70
  • pycharm导入模块变灰_pycharm新建项目灰色

    pycharm导入模块变灰_pycharm新建项目灰色@PyCharmPyCharmimport导入包变灰是因为还没有用到。

    2022年8月27日
    3
  • html视频标签属性_html音频标签

    html视频标签属性_html音频标签一、基本语法 代码如下: embedsrc=url 说明:embed可以用来插入各种多媒体,格式可以是Midi、Wav、AIFF、AU、MP3等等,Netscape及

    2022年8月3日
    3
  • FTP协议讲解

    FTP协议讲解FTP概述文件传输协议(FTP)作为网络共享文件的传输协议,在网络应用软件中具有广泛的应用。FTP的目标是提高文件的共享性和可靠高效地传送数据。在传输文件时,FTP客户端程序先与服务器建立连接,然后向服务器发送命令。服务器收到命令后给予响应,并执行命令。FTP协议与操作系统无关,任何操作系统上的程序只要符合FTP协议,就可以相互传输数据。本文主要基于LINUX平台,对FTP…

    2022年6月21日
    22
  • 什么是网站死链?如何查询网站死链?网站死链怎么解决?[通俗易懂]

    什么是网站死链?如何查询网站死链?网站死链怎么解决?[通俗易懂]网页死链:简单地讲,死链接指原来正常,后来失效的链接。死链接发送请求时,服务器返回404错误页面。死链出现原因1、动态链接在数据库不再支持的条件下,变成死链接。2、某个文件或网页移动了位置,导致指向它的链接变成死链接。3、网页内容更新并换成其他的链接,原来的链接变成死链接。4、网站服务器设置错误5、网站还没有完全做好,就上传到服务器上去了,这样也很多死链的。6、某文件夹名称修改,路

    2022年7月22日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号