String xQuery:检查元素中的字符串,但忽略同一元素中具有不同值的多个元素

String xQuery:检查元素中的字符串,但忽略同一元素中具有不同值的多个元素,string,xquery,contains,String,Xquery,Contains,好的,我有一个包含两部电影的电影xml文件。我想获得所有包含“动作”字符串的电影 <movie id="19995"> <genre genre_id="28">Action</genre> <genre genre_id="12">Adventure</genre> <genre genre_id="14">Fantasy</genre> <vote_average>

好的,我有一个包含两部电影的电影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>
但是我得到了下面的错误消息

[XPTY0004] Item expected, sequence found: (text {"Action"}, text {"Adventure"}, ......
contains();但是,由于xml中的每部电影都有两种或两种以上的类型,
包含的
遇到一个由两个或三个项目组成的序列,从而产生错误消息

[XPTY0004] Item expected, sequence found: (text {"Action"}, text {"Adventure"}, ......
试着这样做:

let $action_movies := $xml_file//movie

return  $action_movies[genre[contains(text(),'Action')]]

谢谢你的快速回复,我很感激!效果很好:)