在 xquery 中使用 deep-equal 选择所有节点
All nodes getting selected with deep-equal in xquery
我想找到所有没有选集和艺术风格的电影。
为此,我使用以下查询
for $movie in db:open("movies","movies.xml")/movies/movie
where not(deep-equal(($movie/styles/style),("anthology","art")))
return $movie
但是,所有节点都被选中而不是过滤它们。
出了什么问题?
你的查询没有多大意义,deep-equal 在这里根本没有用。以下将return所有风格不等于选集或艺术的电影:
db:open("movies", "movies.xml")/movies/movie[not(styles/style = ("anthology", "art"))]
我想找到所有没有选集和艺术风格的电影。 为此,我使用以下查询
for $movie in db:open("movies","movies.xml")/movies/movie
where not(deep-equal(($movie/styles/style),("anthology","art")))
return $movie
但是,所有节点都被选中而不是过滤它们。 出了什么问题?
你的查询没有多大意义,deep-equal 在这里根本没有用。以下将return所有风格不等于选集或艺术的电影:
db:open("movies", "movies.xml")/movies/movie[not(styles/style = ("anthology", "art"))]