XQuery - 序列
序列表示项目的有序集合,其中项目可以是相似的或不同类型的。
创建序列
序列是使用括号、引号或双引号内的字符串以及数字等创建的。XML 元素也可以用作序列的项目。
X查询表达式
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>
查看序列的项目
可以使用索引或按值逐项迭代序列中的项目。上面的示例逐一迭代序列中的项目。让我们看看其他两种方法的实际效果。
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>
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>