解析soap Xml

@Test
public void main() {
    String deptXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
            +"<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:gateway=\"http://www.agree.com.cn/GDBGateway\">"
            +"<soapenv:Header>"
            +"<gateway:HeadType soapenv:actor=\"http://schemas.xmlsoap.org/soap/actor/next\" soapenv:mustUnderstand=\"0\">"
            +"<gateway:versionNo>1</gateway:versionNo>"
            +"</gateway:HeadType>"
            +"</soapenv:Header>"
            +"<soapenv:Body>"
            +"<gateway:NoAS400>"
            +"<gateway:field name=\"ERR_CODE\">CH0000</gateway:field>"
            +"<gateway:field name=\"ERR_MSG\">查询成功</gateway:field>"
            +"<gateway:field name=\"TOTAL_PAGE_NUM\">1</gateway:field>"
            +"<gateway:field name=\"CURRENT_PAGE_NUM\">1</gateway:field>"
            +"<gateway:field name=\"CURRENT_PAGE_COUNT\">2</gateway:field>"

            +"<gateway:field name=\"TX_DATE\">20170822</gateway:field>"
            +"<gateway:field name=\"TX_TIME\">055606</gateway:field>"
            +"<gateway:field name=\"IN_STAT\">借记卡1</gateway:field>"

            +"<gateway:field name=\"TX_DATE\">20170823</gateway:field>"
            +"<gateway:field name=\"TX_TIME\">055616</gateway:field>"
            +"<gateway:field name=\"IN_STAT\">借记卡2</gateway:field>"
            +"</gateway:NoAS400>"
            +"</soapenv:Body>"
            +"</soapenv:Envelope>";
    org.jsoup.nodes.Document doc = Jsoup.parse(deptXML);
    org.jsoup.select.Elements fieldEle = doc.getElementsByTag("gateway:field");
    String code = fieldEle.select("[name=ERR_CODE]").get(0).text();//取状态
    System.out.println("状态码:"+code);
    if(code!=null&&"CH0000".equals(code)){
        //请求成功处理
        int count = Integer.parseInt(fieldEle.select("[name=CURRENT_PAGE_COUNT]").get(0).text());
        //写法1
        for(int i=0;i<count;i++){
            System.out.println("第"+(i+1)+"个");
            org.jsoup.nodes.Element dateEle = fieldEle.select("[name=TX_DATE]").get(i);
            System.out.println("TX_DATE:"+dateEle.text());
            org.jsoup.nodes.Element timeEle = dateEle.nextElementSibling();
            System.out.println("TX_TIME:"+timeEle.text());
            org.jsoup.nodes.Element statEle = timeEle.nextElementSibling();
            System.out.println("IN_STAT:"+statEle.text());
        }
       System.out.println("-------分割线---------");
        //写法2
        for(int i=0;i<count;i++){
            System.out.println("第"+(i+1)+"个");
            org.jsoup.nodes.Element dateEle = fieldEle.select("[name=TX_DATE]").get(i);
            System.out.println("TX_DATE:"+dateEle.text());
            org.jsoup.nodes.Element timeEle = fieldEle.select("[name=TX_TIME]").get(i);
            System.out.println("TX_TIME:"+timeEle.text());
            org.jsoup.nodes.Element statEle = fieldEle.select("[name=IN_STAT]").get(i);
            System.out.println("IN_STAT:"+statEle.text());
        }

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值