XQuery 将字符串转换为日期时间 (exist-db)

XQuery transform string into a datetime (exist-db)

我正在为 exist-db 使用 XQuery 3.0,并试图使字符串 $value 成为 dateTime 对象。这就是我得到的,但它不起作用:

let $value := '"2001-10-18T08:47:00"'

if ($key = 'start_time')
    then 
        element { $key } { xs:dateTime(string(replace($value, '"', ''))) }

意思是:类日期时间值''的非法词法形式。有什么想法吗?

我无法重现您使用该代码遇到的错误 - 该代码不完整(缺少 returnelse 子句,未定义 $key)。但是排除这些问题,您的代码对我来说运行良好,如下所示:

let $value := '"2001-10-18T08:47:00"'
return
    xs:dateTime(replace($value, '"', ''))

结果:

2001-10-18T08:47:00