代码之家  ›  专栏  ›  技术社区  ›  CodingWithoutComments

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

  •  14
  • CodingWithoutComments  · 技术社区  · 16 年前

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

    我知道如何使用我找到的文件查看器查看XFDL文件 here .我还可以通过执行以下操作来修改和保存这些文件:保存/另存为。不过,我想在运行中修改这些文件。有什么建议吗?这是可能的吗?

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

    3 回复  |  直到 9 年前
        1
  •  4
  •   saniul    16 年前

    如果编码是 Base64 这就是我在网上偶然发现的解决方案 link :

    “解码保存为'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的包。安装后可以跳过此步骤。

    假设表单保存为“your form.xfdl”,Uudeview命令会将内容解码为“unknown.001”,因为xfdl文件不包含文件名。“-i”选项使Uudeview变得不实用,请删除该选项以获得更多控制。

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

    另一 可能的解决方案- here

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

        2
  •  2
  •   saniul    12 年前

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

    尽管我很想帮助你,但我不是这方面的专家,所以你得等一个更了解的人来这里帮助你。

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

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

        3
  •  1
  •   Markus Safar    9 年前

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

    您可以使用内核系统调用gzip/gunzip:

    system("gzip foo.something")
    system("gunzip foo.something.gz")
    
    推荐文章