.XFDL
文件扩展名标识XFDL
格式化文档文件。这些属于基于XML的文档和模板格式标准。此格式与XML文件格式完全相同,但包含用于安全通信的加密级别。
我知道如何使用我找到here的文件查看器查看XFDL文件。我也可以通过File:Save / Save As来修改和保存这些文件。但是,我希望能够动态修改这些文件。有什么建议?这甚至可能吗?
更新#1:我现在已成功解码并将.xfdl
解压缩为XML文件,然后我可以编辑该文件。现在,我正在寻找一种方法将修改后的XML文件重新编码回base64-gzip(使用Ruby或命令行)
答案 0 :(得分:4)
如果编码是 base64 ,那么这就是我在网络上偶然发现的解决方案link:
“使用'encoding = base64'解码保存的XDFL文件。 保存的文件:
application/vnd.xfdl;content-encoding="base64-gzip"
是简单的base64编码的gzip文件。通过首先解码然后解压缩它们,可以轻松地将它们恢复为XML。这可以在Ubuntu上完成如下:
sudo apt-get install uudeview uudeview -i yourform.xfdl gunzip -S "" < UNKNOWN.001 > yourform-unpacked.xfdl
第一个命令将安装uudeview,一个可以解码base64的软件包等。安装完成后,您可以跳过此步骤。
假设您的表单保存为'yourform.xfdl',uudeview命令会将内容解码为'UNKNOWN.001',因为xfdl文件不包含文件名。 '-i'选项使uudeview不相交,删除该选项以获得更多控制权。
最后一个命令将解码后的文件压缩到名为“yourform-unpacked.xfdl”的文件中。 “
另一个可能的解决方案 - here
旁注:引用的块&lt;代码&gt;不适用于长串代码
答案 1 :(得分:2)
我现在能想到的唯一答案是 - 阅读uudeview手册。
尽管我想帮助你,但我不是这方面的专家,所以你必须等待更有知识的人来这里帮助你。
与此同时,我可以为您提供一些可能对您有帮助的文档的链接:
很抱歉,如果这对您没有帮助。
答案 2 :(得分:1)
你不必离开Ruby就可以这样做,可以使用Ruby中的Base64模块对文档进行编码,如下所示:
irb(main):005:0> require 'base64'
=> true
irb(main):007:0> Base64.encode64("Hello World")
=> "SGVsbG8gV29ybGQ=\n"
irb(main):008:0> Base64.decode64("SGVsbG8gV29ybGQ=\n")
=> "Hello World"
你可以使用Kernel#system调用gzip / gunzip:
system("gzip foo.something")
system("gunzip foo.something.gz")