9

我知道如何使用 XPath 从 XML 中找到我需要的东西。语法需要一点时间来适应,但它非常强大。我也对学习 XQuery 很感兴趣,但是类似 SQL 的语法似乎很尴尬。即便如此,如果它不仅可以提供 select 等效项,还可以像 SQL 那样提供更新、插入和删除,我会原谅所有的尴尬。

那么,XQuery 是否具有 Update、Insert、Delete 和 Select 的等价物?

XPath 是否有我忽略的这些等价物?

4

4 回答 4

14

没有。XPathXQuery都没有类似 SQL 的更新/插入/删除功能。

您需要寻找“ XQuery 1.0 Update Facility ”的实现。

目前(2008 年 11 月),已知三个这样的:

  1. SaxonSA X​​SLT 和 XQuery 处理器 Michael Kay;从 9.1 版开始支持,但仅限于商业版。
  2. MonetDB/XQuery - MonetDB关系数据库系统之上的开源 XQuery 处理器
  3. XQilla - 一个开源 ( ASL2.0 ) XQuery 处理库,支持最新的 XQuery 更新功能。XQilla 是用 C++ 编写的,包括一个命令行可执行 shell,用于对存储在本地文件系统上的 XML 内容执行查询。该库是积极开发的,是受支持的 Oracle 产品Berkeley DB XML的一部分。
于 2008-11-22T20:28:00.233 回答
7

查看XQuery Update Facility,查看XQuery 用例或查看XML Query 工作组页面。

于 2008-11-21T16:11:40.407 回答
5

在 SQL Server 2005/8 中,XQuery 的扩展称为XML DML,并且支持使用语句的替换值来修改数据。

于 2008-12-13T21:05:33.207 回答
4

XPath 是一种用于寻址 XML 文档部分的语言。所以它不能有任何 DML 语句。根据定义,它是 select 语句。

于 2008-11-21T16:14:43.660 回答