Вернуть несколько элементов данных - PullRequest
0 голосов
/ 13 мая 2011

Используя Xquery, как я могу найти файл ниже (состоящий из множества элементов), для всех элементов с 'XC' в номере детали (их много), а затем для совпадений вернуть все 3 интересных элемента данных (часть номер, часть имя и имя)?Возвращение - главная проблема - мои попытки приводят к каждой перестановке интересных элементов данных.Спасибо!

    
<catalog>
   <item>
     <description>
    <partref>
       <part-id>
        <part-number>XC51222</part-number>
       </part-id>
    </partref>
    <part-name>DSP, Network Vectoring<part-name>
    <vendors>
       <vendor1>
        <pay-to>
           <name>JCOF Industries</name>
        </pay-to>
       </vendor1>
    </vendors>
      </description>
   &lt/item>
   &ltitem>
   &lt/item>
[many items…]
</catalog>

1 Ответ

0 голосов
/ 13 мая 2011
xquery version "1.0";

let $sep := ','
for $x in catalog/item
where fn:matches($x/description/partref/part-id/part-number, 'XC')
return fn:string-join( ($x/description/partref/part-id/part-number/text(), $x/description/part-name/text(), $x/description/vendors/vendor1/pay-to/name/text()), $sep)
...