繁体   English   中英

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

[英]How can I modify .xfdl files? (Update #1)

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

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

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

如果编码是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 无法交互,删除该选项以获得更多控制。

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

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

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

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

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

同时,我可以给你一些可能对你有帮助的文件的链接:

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

您不必离开 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")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM