为什么BaseX不在插入节点命令时修改文件



我正在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强制执行更新。

相关内容

  • 没有找到相关文章

最新更新