我正在尝试使用以下XQuery更新XML文件中的节点(在eXide中):
xquery version "3.0";
let $update := doc('db/apps/xmlFiles/Customers.xml')//Customers[ID = 6]
return replace value of node $update/LastName with 'Morris'
但是我收到此错误阻止我运行查询:
执行表达式时发现错误:org.exist.xquery.XPathException:错误:XPST0003意外令牌:值[第4行,第16列]
有谁知道这可能是什么问题?任何帮助和建议将不胜感激
答案 0 :(得分:0)
如@dirkk所述,eXist不支持XQUF 1.0,而是实现了XQUF的早期草案版本。但是,您仍然可以使用此代码执行您想要的操作:
xquery version "3.0";
let $update := doc('db/apps/xmlFiles/Customers.xml')//Customers[ID = 6]
return
update value $update/LastName with 'Morris'
请注意,在eXist中,更新会立即就地应用于数据库中的节点,而不是XQUF 1.0,其中创建PUL(待定更新列表),然后在查询完成时应用。