0

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
4

2 に答える 2

3

BaseX データベースは、それらが作成された XML ファイルに対応しますが、いくつかのインデックスで強化された高いクエリ パフォーマンスのための特別なエンコーディングです。XQuery Update を使用してデータベースを更新する場合、元のファイルは自動的に更新されません (したがって、XML はデータベースからシリアル化されます)。

いずれかを使用して更新した後、データベースをエクスポートします。

  • コマンドプロンプトとコマンドEXPORT

    EXPORT [path]
      Export database to XML.
    
  • メニュー バーの [データベース] 、 [エクスポート] の下にあるグラフィカル ユーザー インターフェイスとエクスポートダイアログ。

于 2014-09-01T07:01:10.163 に答える