【问题标题】:Xquery statement to get a value for specific nameXquery 语句获取特定名称的值
【发布时间】:2017-12-04 20:04:55
【问题描述】:

我正在尝试编写一个 xquery 来获取特定名称的值。下面是请求有效负载:即,如果 Name ="ID" 然后获取 该标签的“值”(即 1000000000。)如果 Name="User" 获取该标签的“值”(即“US”)。

 <not:Items xmlns:v5="http://www.example.com"
xmlns:com="http://commom.com
xmlns:not="http://services.not.com"
xmlns:com1="http://common1.com">
<not:Array>
<com1:Item>
<v5:List>
<com:extensionsItem>
<com:Name>ID</com:Name>
<com:Value>1000000000</com:Value>
</com:extensionsItem>
<com:extensionsItem>
<com:Name>User</com:Name>
<com:Value>US</com:Value>
</com:extensionsItem>
</v5:List>
</com1:Item>
</not:Array>
</not:Items> 

我尝试了以下选项:

<ns2:ID>{fn:data($Items/not:Array/com1:Item/v5:List/com:extensionsItem[1]/com:Value)}<ID>

这个说法有效。但我不能保证 ID 总是出现在 List 数组的第一个元素中。所以我想要一个即使 ID 出现在任何其他元素中也能工作的语句 放在数组中,我可以检索该值。 提前致谢

【问题讨论】:

    标签: xslt xquery name-value


    【解决方案1】:

    我想你只是想应用一个谓词$Items/not:Array/com1:Item/v5:List/com:extensionsItem[com:Name = 'ID']/com:Value

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-04
      • 1970-01-01
      • 1970-01-01
      • 2017-05-08
      • 2021-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多