0

我正在尝试在 SOAPUI 中编写 XQuery 来验证 XML 响应。我想要做的是使用“where”来查看某些东西是否等于带有通配符的其他东西。基本上是这样的。

<Result>
{
for $x in //ns3:Building
where $x/ns3:BuildingNumber/text()='JJJ*'     <--- This is my problem
return <Value>{$x/ns3:BuildingNumber/text()}</Value>
}
</Result>

为简单起见,我删除了命名空间,但我确信所有这些都有效。

当我用类似下面的文字替换 where 时,它​​可以工作:

where $x/ns3:BuildingNumber/text()=JJJ1245

虽然我需要某种通配符,但我不确定在这种情况下如何或是否完成。所有以 JJJ 开头的任务。我已经尝试过 Regex 和其他类似的方法,但没有一个工作:

'JJJ*' '^JJJ.' 'JJJ.*'

4

1 回答 1

0

用于matches()正则表达式:

where matches($x/ns3:BuildingNumber, '^JJJ.*')

另外,要小心text()- 通常你想要string(). 这篇文章提供了一个很好的解释。

于 2013-06-10T15:49:00.107 回答