[英]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.