首页 > 解决方案 > 在邮递员中按名称而不是按索引解析 XML 响应

问题描述

从这个Parse XML response to another requests in Postman

在此处输入图像描述

因此,为了从中获取值,我们应该像这样逐步获取元素:

jsonData["xs:schema"]["xs:element"][0]["$"]["name"]

jsonData["xs:schema"]["xs:element"] [1]["$"]["name"]

jsonData["xs:schema"]["xs:element"][2]["$"]["name"]

我们name:"Envelope"按索引获取字段0,1,2 有没有办法name:"Envelope"直接按名称而不是索引获取字段?使用索引来验证存在有点脆弱。"Envelope"无论其位置如何,我是否应该检查模式中是否存在简单字段?

我必须查找名称 Envelope 是否存在,并且需要查找它是否包含任何值。

标签: xmlxml-parsingpostman

解决方案


通过使用substr,您可以直接获取该字段,然后您可以从那里解析 xml:

pm.test("body has field", function(){
    var response = pm.response.text();
    var responseBody = response.substr(response.indexOf('name:"Envelope"'));
    var responseJson = xml2Json(responseBody);   
    });

推荐阅读