当前位置 : 主页 > 编程语言 > java >

Java解析调用webservice服务的返回XML串详解

来源:互联网 收集:自由互联 发布时间:2021-05-13
本文由Markdown语法编辑器编辑完成。 1. 需求分析; 已知当在调用某一webservice的服务时,如果调用成功,会接受到该服务的返回XML串。后端在获取了该XML原始串时,需要进行解析,将其

本文由Markdown语法编辑器编辑完成。

1. 需求分析;

已知当在调用某一webservice的服务时,如果调用成功,会接受到该服务的返回XML串。后端在获取了该XML原始串时,需要进行解析,将其解析为JSON格式,以便于发送到前台,供前台页面显示和交互。

2. 解决方案:

该XML的原始形式为:

<?xml version="1.0" encoding="UTF-8" ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <SOAP-ENV:Body>
    <MZHLYYServiceResponse xmlns="http://tempuri.org">
      <MZHLYYServiceResult>
        <![CDATA[<CrossSectionPrescriptionAuditResult><ClientType>c1</ClientType><Prescriptions><Prescription><PrescriptionId>10075449</PrescriptionId><AuditResultCode>1</AuditResultCode></Prescription><Prescription><PrescriptionId>10075450</PrescriptionId><AuditResultCode>2</AuditResultCode></Prescription></Prescriptions></CrossSectionPrescriptionAuditResult>]]>
      </MZHLYYServiceResult>
    </MZHLYYServiceResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

我希望能够解析到的核心内容是,对于每一个Prescription, 都有两个属性: PrescriptionId和AuditResultCode。这样在返回的XML中有两个Prescription, 因此返回的应该是一个JSON数组。

[
  {
    "PrescriptionId": 10075449,
    "AuditResultCode": 1
  },
  {
    "PrescriptionId": 10075450,
    "AuditResultCode": 2
  }
]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

网友评论