Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java gnucashxml和sqlite文件格式_Java_Gnucash - Fatal编程技术网

Java gnucashxml和sqlite文件格式

Java gnucashxml和sqlite文件格式,java,gnucash,Java,Gnucash,我在做一个简单的数据库。 对我来说,这是我第一次使用gnucash,我必须使用它。 当我保存数据库时,我需要一个.xml或sqlite格式的文件,但在我的保存文件夹中单击“另存为”后,我只看到一个.gnucash格式的文件和.log文件,而不是xml或sqlite格式的文件。 我必须在JavaIDE中管理这些文件。 是否有此问题的解决方案,或者是否可以直接在Java中管理.gnucash文件格式?来源: 如何编辑该文件 文件本身是XML数据,但采用压缩形式(由程序gzip压缩) 这是根据“编辑-

我在做一个简单的数据库。 对我来说,这是我第一次使用gnucash,我必须使用它。 当我保存数据库时,我需要一个.xml或sqlite格式的文件,但在我的保存文件夹中单击“另存为”后,我只看到一个.gnucash格式的文件和.log文件,而不是xml或sqlite格式的文件。 我必须在JavaIDE中管理这些文件。 是否有此问题的解决方案,或者是否可以直接在Java中管理.gnucash文件格式?

来源:

如何编辑该文件

文件本身是XML数据,但采用压缩形式(由程序gzip压缩)

这是根据“编辑->首选项->常规”中的首选项设置打开或关闭的,您可以在文件压缩时设置或取消设置复选标记。默认情况下,它处于激活状态

为了通过文本编辑器查看数据,需要打开终端窗口(控制台窗口)并输入以下命令:

当然,您需要用实际的文件名替换“foobar”。输入>这两个命令后,可以在文本编辑器中打开生成的文件“foobar copy”>

当您打算进行一些手动更改时,正如我们所做的那样,请确保在某个地方备份原始文件,以防出现错误。在本例中,原始文件“foobar”是完整的

一旦你编辑并保存了这个文件,你就不必自己gzip了;GnuCash将在下次保存时执行此操作


简言之,xml文件(我猜测是sqlite文件)是压缩的,在编辑它们之前需要先解压缩它们。或者您可以告诉GNUCash跳过压缩

好的,我已经解决了我的问题,只需用记事本或文本编辑器打开gnucash文件。但是,当我打开gnucash文件另存为xml(例如)时,我找不到插入的值。这些值必须用JavaI进行管理,我无法帮助您,我还没有检查它的外观。您是否尝试查找交易的部分内容。例如,如果你以24.50美元的价格在[钱包]中放入描述为[沃尔玛]的物品;我自己没有看过xml,可能是2450,可能搜索一个已知的校验号,然后看看结构表。好的,我找到了插入到xml文件中的值。唯一奇怪的是,值不是用整数表示的,而是用除以100的数字表示的。例如,如果我插入900,00$,xml文件将返回90000/100。在首选项中是否有一个参数可以修改以查看以正确方式插入的值?我不知道您是否可以在首选项中修改此参数。然而,/100似乎表明,它们不是将货币值存储为浮点数,而是将其存储为整数并除以100。所以说19.99是1999/100。因此,您可以在java中解析该逻辑。您可能希望阅读,后者是gnucash的python解析器,它可能会提示它们做了什么,或者可能是您只在python中而不是java中寻找的内容。
mv foobar foobar-copy.gz
gunzip foobar-copy.gz