xquery - 将结果连接到另一个变量 XQuery
问题描述
我有以下查询:
for $b in //Desarrollador
let $desc := $b/Programa/Descripcion/text()
let $ver := $b/Programa/Version/text()
where $b/@CodigoDes = "D02"
return <salida>{$desc, $ver}</salida>
结果是:
Gestión Discos DurosImpresora32
然而,我真正想要的是:
Gestión Discos 3 DurosImpresora 2
我试图连接:
for $b in //Desarrollador
let $desc := $b/Programa/Descripcion/text()
let $ver := $b/Programa/Version/text()
let $result := concat($desc, $ver)
where $b/@CodigoDes = "D02"
return <salida>{$result}</salida>
但它向我显示了这个错误:
Item expected, sequence found: (text{"Gestion Discos Duros"}, ...).
我怎么能做到?
解决方案
Programa
正如 Charles Duffy 在评论中提到的那样,某个节点中似乎有多Desarrollador
个子节点。这就解释了为什么concat(...)
抱怨它的论点是序列。如果是这种情况,下面的查询应该做你想做的事:
for $p in //Desarrollador[@CodigoDes = "D02"]/Programa
let $desc := $p/Descripcion/text()
let $ver := $p/Version/text()
return <salida>{$desc, $ver}</salida>
推荐阅读
- python - TensorFlow / Keras Python CNN
- r - 将一个组与 R 中的其他组作为一个整体进行比较
- c - 如何使用 C (Linux) 向所有终端发送消息?
- r - 如何通过 3 个变量值类型添加新变量?
- javascript - 无法通过 Node 连接到 MSSQL 服务器,而 Intellij 连接有效(MacOS)
- android - AndroidStudio 编译原生代码显示“fcntl(): Bad file descriptor”
- elixir - 按二维分组并在 Elixir 中计数
- typescript - 无法读取数据表中未定义的属性
- kubernetes - Kubernetes 延迟 pod 终止 - FailedPreStopHook
- python - 创建模型时可以使用函数设置字段吗(django)