2008-08-04 72 views
11

.XFDL文件扩展名标识XFDL带格式的文档文件。这些属于基于XML的文档和模板格式标准。该格式与XML文件格式完全相同,但包含用于安全通信的加密级别。如何修改.xfdl文件? (Update#1)

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

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

回答

4

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

“保存‘编码=的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'的文件。 “

另一个可能的解决方案 - here

边注:引用块<代码>不适合的代码长串的工作

+0

有趣的是,即使6年后,我觉得这样做,它会让我的生活变得如此简单。 – Deryck 2014-12-13 01:34:21

2

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

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

同时,我可以给你链接到一些文件,可以帮助你:

很抱歉,如果这并不能帮助你。

1

你不必走出红宝石要做到这一点,可以使用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" 

,并且可以使用内核#系统调用的gzip/gunzip解:

system("gzip foo.something") 
system("gunzip foo.something.gz")