17

.XFDL文件扩展名标识XFDL格式化文档文件。这些属于基于 XML 的文档和模板格式化标准。此格式与 XML 文件格式完全相同,但包含用于安全通信的加密级别。

我知道如何使用在此处找到的文件查看器查看 XFDL 文件。我还可以通过执行 File:Save/Save As 来修改和保存这些文件。但是,我想即时修改这些文件。有什么建议么?这甚至可能吗?

更新#1:我现在已经成功解码并解.xfdl压缩到一个 XML 文件中,然后我可以对其进行编辑。现在,我正在寻找一种将修改后的 XML 文件重新编码回 base64-gzip 的方法(使用 Ruby 或命令行)

4

3 回答 3

5

如果编码是base64,那么这是我在网上偶然发现的解决方案:

“解码使用 '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 无法交互,删除该选项以获得更多控制。

最后一个命令 gunzip 将解码的文件压缩到一个名为“yourform-unpacked.xfdl”的文件中。

另一种可能的解决方案 -这里

旁注:块引用的 <code> 不适用于长字符串

于 2008-08-04T22:02:35.180 回答
2

我现在唯一能想到的答案是 - 阅读 uudeview 的手册。

尽管我很想帮助你,但我不是这方面的专家,所以你必须等待更有知识的人来这里帮助你。

同时,我可以为您提供一些可能对您有所帮助的文档的链接:

抱歉,如果这对您没有帮助。

于 2008-08-04T22:18:47.987 回答
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")
于 2008-08-06T13:37:41.657 回答