[英]How to insert data in eXist-db by $http in AngularJS through the REST API?
[英]How do I pass xquery through eXist-db's REST api?
我理解如何使用Xpath
http://localhost:8080/exist/rest/db/movies?_query=//movie[title=%22Spider-Man%22]/node()
但是如何传递xquery查询? 我一直在阅读REST api适用于xpath和xquery,但我无法让我的查询工作。 这是我试图传递的例子(我在xquery沙箱中测试了它并且它可以工作):
for $movie in doc("movies/movies.xml")/movies/movie[year > 2002]
return <movie> { ($movie/title, $movie/year) } </movie>
如何在URL中传递此内容? 我真的不知道从哪里开始,所以我尝试将上面的查询粘贴为GET参数,类似于xpath查询。 所以我通过的网址是
http://localhost:8080/exist/rest/db/movies/?_query=for%20$movie%20in%20doc(%22movies/movies.xml%22)/movies/movie[year%20%3E%202002]%20return%20%3Cmovie%3E%20{%20($movie/title,%20$movie/year)%20}%20%3C/movie%3E
我得到的页面就是这个
我是否完全错误地采取了这种方式? “电影”是我的数据库中的一个集合。
看起来您的查询已成功执行。 <exist:result/>
元素看起来非常正确,但它根本找不到符合您的过滤条件的电影。 它也可能是名称空间问题。 您应该在本地尝试查询以查看它是否返回了某些内容。
你的<script id="tinyhippos-injected"/>
元素相当奇怪,因为我没想到这里有<script id="tinyhippos-injected"/>
。 但是,这似乎是由于您使用的某些Chrome扩展程序 。
此外,如果您的XQuery有点长,则URL参数不会执行,并且编码很难读取和维护。 您可能希望查看有关如何使用XQuery提交POST
请求的eXist文档 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.