还有一个问题。 这次我想是因为标签在同一个消息中使用了两次,嵌套了。
我在检索具有唯一标签的其他项目(例如requestDateTime
,statusDateTime
和completedStateEnteredDate
)时没有问题,但我无法成功获取<som>
参考号,或状态(内部状态)或类型(再次,在另一个<type>
标记内)。
所以我知道我的命名空间有效,只是无法弄清楚如何获取我需要的数据。
具体来说,我需要在<som>6000526</som>
部分中捕获该数值。数据确实会返回多个SOM数字,所以奖金将是我如何捕获多个(如前2或5会很酷)。
<return>
<success>true</success>
<networkUpdateList>
<confirmationDue>
<actualDays>26</actualDays>
<actualHours>11</actualHours>
<actualMinutes>57</actualMinutes>
<businessDays>22</businessDays>
<businessHours>7</businessHours>
<businessMinutes>57</businessMinutes>
<negative>true</negative>
</confirmationDue>
<confirmingCarrierId>11567</confirmingCarrierId>
<numbers>
<donorCarrierId>11657</donorCarrierId>
<gainingCarrierId>11667</gainingCarrierId>
<losingCarrierId>11657</losingCarrierId>
<number>
<phoneNumber>098453520</phoneNumber>
</number>
</numbers>
<som>
<requestDateTime>2017-04-11T10:08:01+12:00</requestDateTime>
<som>6000526</som>
<status>
<status>GC and LC Complete</status>
</status>
<statusDateTime>2017-04-11T10:09:09+12:00</statusDateTime>
<type>
<type>Port</type>
</type>
<completedStateEnteredDate>2017-04-11T10:09:09+12:00</completedStateEnteredDate>
</som>
</networkUpdateList>
答案 0 :(得分:2)
使用此XPath表达式获得所需的结果:
/return/networkUpdateList/som/som
<强>结果:强>
<som>6000526</som>
这甚至适用于不同<som>
个节点的多个networkUpdateList
元素子项。
答案 1 :(得分:0)
我错开了解决方案,适用于所有重复的名称:
// som / som完成这项工作
就像//状态/状态和//类型/类型一样,所以我是一个快乐的露营者。
我只是不知道如何在响应中找到下一个事件,但我并不急需,我可以循环。
编辑:还发现了
(//som/som) [2]
返回第二次出现,那个(// som / som)[1]返回第一个,等等。很简单,很有把握。
在这里发现:https://msdn.microsoft.com/en-us/library/ms256086(v=vs.110).aspx
答案 2 :(得分:0)
创建脚本断言并使用以下代码:
// create groovyUtils and XmlHolder for response of Request 1 request
def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
def holder = groovyUtils.getXmlHolder( "SOAP Request#Response" )
// loop item nodes in response message
for( item in holder.getNodeValues( "//som/som" ))
log.info "Item : [$item]"
这应该打印出XPath之后的每个节点的所有值。在脚本中,Assertion Log应按以下格式输出:
Wed Mar 21 14:46:14 GMT 2018:INFO:Item:[0.69]
Wed Mar 21 14:46:14 GMT 2018:INFO:Item:[4.14]
Wed Mar 21 14:46:14 GMT 2018:INFO:Item:[0.69]
Wed Mar 21 14:46:14 GMT 2018:INFO:Item:[0.69]
Wed Mar 21 14:46:14 GMT 2018:INFO:Item:[1.6]
Wed Mar 21 14:46:14 GMT 2018:INFO:Item:[3.45]
Wed Mar 21 14:46:14 GMT 2018:INFO:Item:[1.85]