当前位置: 首页 > 知识库问答 >
问题:

空手道DSL:从响应中提取XML属性值[重复]

杜嘉慕
2023-03-14

我得到的答复如下:

如何提取属性xmlns为https://www.w3schools.com/xml/的值?

  • def response=“”“ soap:body37.77777777777778”“

共有1个答案

谭桐
2023-03-14

有时转换为JSON会更好。请尝试以下示例:

* def response =
"""
<soap:Envelope xmlns:soap="schemas.xmlsoap.org/soap/envelope" xmlns:xsi="w3.org/2001/XMLSchema-instance" xmlns:xsd="w3.org/2001/XMLSchema"> <soap:Body> <FahrenheitToCelsiusResponse xmlns="w3schools.com/xml"> <FahrenheitToCelsiusResult>37.7777777777778</FahrenheitToCelsiusResult> </FahrenheitToCelsiusResponse> </soap:Body> </soap:Envelope>
"""
* json response = response
* def ns = response['soap:Envelope']['_']['soap:Body'].FahrenheitToCelsiusResponse['@'].xmlns
* match ns == 'w3schools.com/xml'

现在你将可以得到任何你想要的属性。

还要阅读这篇文章:https://github.com/intuit/karate#print-特别是关于内部XML是JSON的部分,因此如果打印不正确,您将无法看到您想要的内容。

 类似资料:
  • 不幸的是,ei从我的后端获得的响应不是正确的xml格式,并且它以一种糟糕的格式给出了如下所示的响应: 因此,现在空手道无法读取响应并获取“WorkflowExternalRef”的值,这是我本次测试的目标。 空手道能读懂吗?

  • 我正在使用来自动处理肥皂请求,我想使用XML Schema(XSD)验证XML格式的响应。 我需要模式。java调用它的代码和函数。功能文件。我尝试使用RESTAPI和空手道演示来验证json模式,并找到了正确的结果,但soap(xml、xsd)没有得到。我正在尝试这个模式。用于XSD验证的java。

  • 我试图提取搜索关键字从SOAP xml模式与美丽的汤,不知道如何提取值属性。 我已经尝试使用但它不会让我提取value属性。 这是我到目前为止所拥有的: 这就是我有问题的地方。根据美丽的汤留档,这应该输出所有的“值”属性。 如您所见,我试图从所有xs:enumeration标记中的value属性中获取文本。最终结果将是level1的搜索词列表。即。: (蚀变、火成、变质、未发现、矿石、沉积岩、矿脉

  • 如何从空手道API中的json响应中检索数值? 在这里我想检索41651625424这个值在一个变量因为我必须通过这作为输入在另一个请求体

  • 我已经使用API从API中提取了JSON响应,请放心,它看起来像这样: 现在,我实际的JSON响应在JSON数组中有数千个JSON对象,一些键有空值,例如“secondKey”在一些JSON对象中有空值。我需要获取JSON响应中所有空值的键。对我该如何做有什么想法吗? 我解决这个问题的想法是使用Jackson库反序列化JSON并获取所有空值。然而,考虑到性能,是否有任何有效的解决方案?

  • 我想提取一些值并以JSON格式存储在数组中。 我有我的代码在karate-config.js文件中,因为我调用的API只需要调用一次,结果需要存储在数组中,以便以后可以在其他功能中使用。 结果 预期结果