我知道如何使用XPath从XML中找到我需要的东西.语法需要一点时间习惯,但它非常强大.我也有兴趣学习XQuery,但SQL语法似乎很尴尬.即便如此,如果它不仅可以提供选择的等价物,而且还可以像SQL那样提供更新,插入和删除,我将原谅所有的尴尬.
那么,XQuery是否具有Update,Insert和Delete以及Select的等价物?
XPath是否具有我忽略的这些等价物?
否.XPath或XQuery都没有类似SQL的更新/插入/删除功能.
您需要查找" XQuery 1.0 Update Facility "的实现.
此时(2008年11月),有三个这样的人知道:
SaxonSA XSLT和XQuery处理器 - 作者 Michael Kay ; 从9.1版开始支持,但仅限于商业版.
MonetDB/XQuery - MonetDB关系数据库系统之上的开源XQuery处理器.
XQilla - 一个开源( ASL2.0)XQuery处理库,支持最新的XQuery Update功能.XQilla是用C++编写的,包含一个命令行可执行shell,用于对存储在本地文件系统中的XML内容执行查询.该库是积极开发的,是受支持的Oracle产品 Berkeley DB XML的一部分.
查看XQuery Update Facility,查看XQuery用例或查看XML Query工作组页面.
在SQL Server 2005/8中,XQuery的扩展名为XML DML,并支持使用statement 的replace值进行数据修改.