我在SOAPUI中有一个带有XQuery匹配的soap testStep。
XML(简化)外观如下:
<root>
<element>
<a>a</a>
<b>b</b>
<c>c</c>
<d>d</d>
</element>
</root>
我想创建一个XQuery来从<element>
获取所有子节点,根据节点名称删除子元素。我的XQuery看起来像:
for $x in //root/element/element()
return
if (name($x) != 'a') then $x
else ""
我期待下一个结果:
<b>b</b>
<c>c</c>
<d>d</d>
我认为我的XQuery是正确的,我使用XQuery在线评估器测试并且看起来没问题,您可以尝试使用跟随link
但是,当我在SOAPUI中的XQuery Match断言中使用此表达式时,我收到以下消息:More than one match in current response
。如何用SOAPUI实现这个目标?
谢谢,
答案 0 :(得分:1)
最后做了一些尝试我找到了解决方案,在SOAPUI中执行此XQuery的方法是在XQuery表达式中指定根节点,即:
<MyResult>
{
for $x in //root/element/element()
return
if (name($x) != 'a') then $x
else ""
}
</MyResult>