2017-12-04 12 views
-1

xqueryを使用して特定の名前のValueを取得しようとしています.Belowはリクエストのペイロードです。つまり、Name = "ID"の場合は "Value"そのタグ(すなわち、1000000000。)Name = "User"がそのタグの "Value"を取得した場合(すなわち、 "US")。特定の名前の値を取得するXQueryステートメント

<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が配列の最初の要素に常に来ることを保証することはできません。私は配列内の他の 場所にIDが入っていても動作するステートメントが必要で、値を取得できます。 ありがとうございます

答えて

1

私は単に述語を適用したいと思います。$Items/not:Array/com1:Item/v5:List/com:extensionsItem[com:Name = 'ID']/com:Value

関連する問題