如何修改.xfdl文件? (更新#1)

问题描述 投票:16回答:3

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

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

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

ruby language-agnostic xfdl
3个回答
4
投票

如果编码为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',由于xfdl文件不包含文件名,因此uudeview命令会将内容解码为'UNKNOWN.001'。 '-i'选项使uudeview不交互式,请删除该选项以获得更多控制。

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

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

侧面说明:用引号引起来的不适用于长代码串


2
投票

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

尽管我想为您提供帮助,但我不是这方面的专家,因此您必须等待其他知识渊博的人来这里为您提供帮助。

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

对不起,如果这对您没有帮助。


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"

并且您可以使用内核#system来调用gzip / gunzip:

system("gzip foo.something")
system("gunzip foo.something.gz")
© www.soinside.com 2019 - 2024. All rights reserved.