解析soap请求访问webservice接口返回的xml值

数据结构如下:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:PFTMX" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<ns1:Get_ScenicSpot_InfoResponse>
<Get_ScenicSpot_Info xsi:type="xsd:string">
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;Data&gt;
  &lt;Rec ID="UU1"&gt;
    &lt;UUaddress&gt;嗯嗯嗯&lt;/UUaddress&gt;
    &lt;UUarea&gt;广东省|广州市&lt;/UUarea&gt;
    &lt;UUbhjq&gt;&amp;lt;p&amp;gt;【景点简介】&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;【景点特色】&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;【景点包含】&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/p&amp;gt;&lt;/UUbhjq&gt;
    &lt;UUid&gt;60105&lt;/UUid&gt;
    &lt;UUimgpath&gt;images/defaultThum.jpg&lt;/UUimgpath&gt;
    &lt;UUjtype&gt;AAAAA&lt;/UUjtype&gt;
    &lt;UUtitle&gt;好嗨哟&lt;/UUtitle&gt;
    &lt;UUjqts&gt;【开放时间】&amp;#13;
&amp;#13;
【取票地点】&amp;#13;
&amp;#13;
【入园凭证】&amp;#13;
&amp;#13;
【优惠政策】&amp;#13;
&amp;#13;
【发票说明】&amp;#13;
&amp;#13;
【退改说明】&amp;#13;
&amp;#13;
【温馨提示】&amp;#13;
&amp;#13;
【联系电话】&lt;/UUjqts&gt;
    &lt;UUruntime&gt;0&lt;/UUruntime&gt;
    &lt;UUsalerid&gt;917675&lt;/UUsalerid&gt;
    &lt;UUfax&gt;0&lt;/UUfax&gt;
    &lt;UUstatus&gt;1&lt;/UUstatus&gt;
    &lt;UUtel&gt;0&lt;/UUtel&gt;
    &lt;UUtopics&gt;0&lt;/UUtopics&gt;
    &lt;UUjtzn&gt;【公共交通】&amp;#13;
&amp;#13;
【自驾线路】&lt;/UUjtzn&gt;
    &lt;UUp_type&gt;A&lt;/UUp_type&gt;
    &lt;UUopen_section&gt;0&lt;/UUopen_section&gt;
    &lt;UUopentime&gt;0000-00-00&lt;/UUopentime&gt;
  &lt;/Rec&gt;
&lt;/Data&gt;
</Get_ScenicSpot_Info>
</ns1:Get_ScenicSpot_InfoResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
//result为上面的xml
 JSONObject xmlJSONObj = XML.toJSONObject(result);
        //提取所需部分的xml信息    methodResponse,method表示不同方法的不同xml节点
     String s=xmlJSONObj.getJSONObject("SOAP-ENV:Envelope").getJSONObject("SOAP-ENV:Body").getJSONObject("ns1:Get_ScenicSpot_InfoResponse")
                .getJSONObject("Get_ScenicSpot_Info").get("content").toString();

下面的DomUtils.xmlToJson方法使用的就是下面链接中的工具类
.getString("Rec ")就是获取Data下面的Rec节点
之后就可以通过json转换成实体类

xml与json互相转换

List<PftScenicInfo> pftScenicInfos = JSONArray.parseArray(DomUtils.xmlToJson(orderPreCheckDataResultXml).getString("Rec "), PftScenicInfo.class);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值