我们在接口测试时有些数据依赖,需要从上一个接口返回数据中拿到相关数据,然后作为一个接口参数传递,下面我给大家分享下怎么代码去解析xml数据

1、上传 jar 包

创建一个 java 项目,将解析 xml 数据的代码封装并导出成 jar 包,登陆 MeterSphere,然后进入【项目设置】-【文件管理】模块,点击添加文件将 jar 上传

2、开启 jar 包

导入成功后,点击右边的眼睛将 jar 开启

3、解析 xml 数据

我这边用自定义脚本模拟接口返回,

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.test.XmlUtils;
      String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
                "<sitemapindex xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n" +
                "<sitemap>\n" +
                "  <loc><![CDATA[http://qq.com/xml/_1.xml]]></loc>\n" +
                "  <lastmod><![CDATA[2018-06-20 01:28:09]]></lastmod>\n" +
                "  </sitemap>\n" +
                "<sitemap>\n" +
                "  <loc><![CDATA[http://qq.com/xml/_2.xml]]></loc>\n" +
                "  <lastmod><![CDATA[2018-06-20 01:28:09]]></lastmod>\n" +
                "  </sitemap>\n" +
                "<sitemaps>\n" +
                "   <sitemap1>\n" +
                "       <loc><![CDATA[http://qq.com/xml/_46.xml]]></loc>\n" +
                "       <lastmod><![CDATA[2018-06-20 01:28:09]]></lastmod>\n" +
                "  </sitemap1>\n" +
                "   <sitemap>\n" +
                "       <loc><![CDATA[http://qq.com/xml/_47.xml]]></loc>\n" +
                "       <lastmod><![CDATA[2018-06-25 01:28:09]]></lastmod>\n" +
                "  </sitemap>\n" +
                "</sitemaps>\n" +
                "</sitemapindex>\n";


     // log.info(xml);
        JSONObject json = XmlUtils.xml2Json(xml);
     JSONObject js = json.getJSONObject("sitemapindex");
        log.info("--------------------------");
        log.info(js.toString());

        JSONArray array = js.getJSONArray("sitemaps");
        log.info(array.getJSONObject(0).toString());
       log.info(array.getJSONObject(0).getJSONArray("sitemap").getJSONObject(0).get("loc"));


↙↙↙阅读原文可查看相关链接,并与作者交流