访问字符串中每个元素的 XPath 表达式

XPath expression to access each element of a string

这个问题听起来很基础;但是,我一直在努力寻找一些与之相关的资源。

假设有一个字符或字符串序列:

let $abc := ('a', 'b', 'c', 'd', 'e', 'f')
return (for $i in $abc return $i)

以上查询将给我一个序列的各个元素。

但是,如果我只有一个字符串,如何检索它的每个元素?

e.g. let $abc = "abc"

如何从 $abc 获取 'a',是否有任何 $abc[0] 可以这样做?

您不能在 XQuery 中将字符串作为数组访问,但您可以使用 substring:

let $abc := "abcd"
for $i in (1 to string-length($abc))
return substring($string, $i, 1)

您也可以使用

for $char in string-to-codepoints($abc)!codepoints-to-string(.)
return ...