我在" http://ip/channels/api"响应这样的事情
<Channels resultCount="200" xmlns="urn:web:1.0">
<Channel id="tv1"/>
<Channel id="tv2"/>
</Channels>
我正在努力使用SoapUI工具从不同的API调用中使用XPath访问Channel元素。如果我尝试使用以下方法在同一个http请求中获取任何频道ID:
declare namespace ns1='urn:web:1.0';
//ns1:Channels[1]/ns1:Channel[1]/@id
我得到了正确的结果
TV1
但如果我尝试从不同的http请求获取频道ID,我的回复是空白的。我首先定义命名空间以达到http://ip/channels/api,然后为xmlns =&#34; urn:web:1.0&#34;定义另一个命名空间。但我不知道正确的语法来弥补这个电话。有人可以帮助指导我做正确的方法,或至少参考我应该搜索的正确术语吗?
答案 0 :(得分:1)
假设您有两个请求。第一个是:
<Channels resultCount="200" xmlns="urn:web:1.0">
<Channel id="tv1"/>
<Channel id="tv2"/>
</Channels>
第二个:
<Channels resultCount="200" xmlns="http://ip/channels/api">
<Channel id="tv1"/>
<Channel id="tv2"/>
</Channels>
两者都有<Channel>
元素,但来自不同的命名空间定义。
因此,如果要在SOAPUI中使用通用的 XPath ,可以使用*
作为命名空间元素的通配符,这样就可以避免命名空间定义并直接访问{{ 1}} id attributes despiste这个节点如何嵌套在父元素上,以及它是名称空间。所以这样的事情必须适合你的情况:
<Channel>