XQuery序列

序列表示项目的有序集合,序列中的项目可以是相似或不同类型的。

创建序列

使用带括号内的字符串或双引号和数字的括号创建序列。 XML元素也可以用作序列的数据项目。

XQuery表达式

let $items := ('orange', <apple/>, <fruit type=juicy/>, <vehicle type=car>sentro</vehicle>, 1,2,3,'a','b',abc)
let $count := count($items)
return
<result>
   <count>{$count}</count>

   <items>
      {
         for $item in $items
         return <item>{$item}</item>
      }
   </items>

</result>

执行示例代码,得到以下结果 -

<result>
   <count>10</count>
   <items>
      <item>orange</item>
      <item>
         <apple/>
      </item>
      <item>
         <fruit type=juicy/>
      </item>
      <item>
         <vehicle type=car>Sentro</vehicle>
      </item>
      <item>1</item>
      <item>2</item>
      <item>3</item>
      <item>a</item>
      <item>b</item>
      <item>abc</item>
   </items>
</result>

查看序列的项目

序列中的数据项目可以使用索引或值逐个迭代。 上面的例子逐个迭代序列的数据项目。 让我们看看其他两种方式。

1. XQuery表达式(索引)

let $items := (1,2,3,4,5,6)
let $count := count($items)
return
   <result>
      <count>{$count}</count>

      <items>
      {
         for $item in $items[2]
         return <item>{$item}</item>
      }
      </items>

   </result>

执行示例代码,得到以下结果 -

<result>
   <count>6</count>
   <items>
      <item>2</item>
   </items>
</result>

2. XQuery表达式(值)

let $items := (1,2,3,4,5,6)
let $count := count($items)
return
   <result>
      <count>{$count}</count>
      <items>
      {
         for $item in $items[. = (1,2,3)]
         return <item>{$item}</item>
      }
      </items>
   </result>

执行示例代码,得到以下结果 -

<result>
   <count>6</count>
   <items>
      <item>1</item>
      <item>2</item>
      <item>3</item>
   </items>
</result>