我正在BaseX 7.9上执行以下XQuery代码,并且能够在结果窗口中看到插入内容。我甚至在关闭和重新打开集合后看到了新节点。然而,当我转到文件目录时,我发现它没有被修改。那么,如何使插入也反映在文件上呢?BaseX如何处理插入命令,使其在数据库上下文中持久存在,而不是在文件上下文中?
let $up := <Employee Name="Joe">
<Personal>
<SSN>666-66-1234</SSN>
</Personal>
<StaffInfo>
<Position>Doctor</Position>
<AccountableTo>Jeff</AccountableTo>
</StaffInfo>
</Employee>
return insert node $up as last into doc('office')/Staff
BaseX数据库与创建它们的XML文件相对应,但采用了一种特殊的编码,以提高查询性能,并添加了一些索引。当使用XQueryUpdate更新数据库时,原始文件不会自动更新(因此,从数据库序列化的XML)。
使用更新数据库后导出数据库
-
命令提示符和
EXPORT
命令:EXPORT [path] Export database to XML.
-
图形用户界面和数据库下菜单栏中的导出对话框,导出。
默认情况下,更新不会反映在数据库外的XML文档上。但是,可以通过命令行标志-U或选项WRITEBACK强制执行更新。