string - xQuery:检查元素中的字符串,但忽略同一元素中但具有不同值的多个元素
问题描述
好的,所以我有这个包含两部电影的电影 xml 文件。我想获取所有包含“动作”字符串的电影。
<movie id="19995">
<genre genre_id="28">Action</genre>
<genre genre_id="12">Adventure</genre>
<genre genre_id="14">Fantasy</genre>
<vote_average>7.2</vote_average>
</movie>
<movie id="19995">
<genre genre_id="14">Fantasy</genre>
<genre genre_id="878">Science Fiction</genre>
<vote_average>7.2</vote_average>
</movie>
这是我的代码自动取款机。
let $xml_file := doc("tmdb_5000_movies")
let $action_movies := $xml_file//movie[contains(genre/text(), 'Action')]
但我收到以下错误消息。
[XPTY0004] Item expected, sequence found: (text {"Action"}, text {"Adventure"}, ......
解决方案
contains()
确实拿了一件东西;但由于 xml 中的每部电影都有两个或多个流派,contains
遇到两个或三个项目的序列,导致错误消息。
试试这种方式:
let $action_movies := $xml_file//movie
return $action_movies[genre[contains(text(),'Action')]]
推荐阅读
- cart - 我的大型商务创建购物车 API 调用失败,因为我的产品选项未分配值。我怎样才能给它赋值?
- git - 访问不同的ip或host时如何指定不同的git账号?
- javascript - react-select 在选择选项改变时清除其他输入字段的值(状态)(onChange)
- python - 在给定唯一 ID 的情况下,仅选择与之前的行相比列已更改的行
- sql - 从 table2 更新 table1(插入新的,仅更新更改,删除缺失的)
- matplotlib - 显示绘图的问题 - 在 python 中使用 matplotlib
- php - 使用 .htaccess 拒绝访问除 / 和 /index.php 以外的其他文件
- python - 尝试获取回归摘要时出错
- android - 如何限制文件格式的 Weblate 检查/自动修复(ia Android、iOS)
- spartacus-storefront - 外部支付通过 post-request 将客户重定向到 webshop-url