Pergunta

O .XFDL extensão de arquivo identifica XFDL Formatado, arquivos de Documentos.Estes pertencem ao documento baseado em XML e modelo padrão de formatação.Este formato é exatamente como o formato de arquivo XML no entanto, contém um nível de criptografia para usar em comunicações de segurança.

Eu sei como ver XFDL arquivos usando um visualizador de arquivos encontrei aqui.Eu também pode modificar e salvar estes arquivos, fazendo do Arquivo:salvar/Salvar Como.Eu gostaria, entretanto, de modificar esses arquivos na mosca.Alguma sugestão?Isso é mesmo possível?

Atualização #1:Eu já decodificado com sucesso e unziped um .xfdl em um arquivo XML que eu possa editar.Agora, eu estou procurando uma forma de re-codificar o arquivo XML modificado de volta em base64 gzip (usando Ruby ou a linha de comando)

Foi útil?

Solução

Se a codificação é base64 então esta é a solução que eu tropecei em cima na web link :

"Decodificação XDFL arquivos salvos com 'encoding=base64'.Arquivos salvos com:

application/vnd.xfdl;content-encoding="base64-gzip"

são simples codificado em base64 arquivos gzip.Eles podem ser facilmente restauradas para XML pela primeira decodificação e, em seguida, abrindo-los.Isso pode ser feito da seguinte forma no Ubuntu:

sudo apt-get install uudeview uudeview -i yourform.xfdl gunzip -S "" < UNKNOWN.001 > yourform-unpacked.xfdl 

O primeiro comando irá instalar o uudeview, um pacote que pode decodificar base64, entre outros.Você pode ignorar esta etapa uma vez que ele é instalado.

Supondo que o formulário é salvo como 'yourform.xfdl', o uudeview comando irá decodificar o conteúdo como " DESCONHECIDO.001', desde o xfdl arquivo não contém um nome de arquivo.'-I' opção faz uudeview uninteractive, remova essa opção para ter mais controle.

O último comando gunzips decodificada arquivo em um arquivo chamado 'yourform-descompactado.xfdl'."

Outro possível solução - aqui

Nota:Bloco de citação < code > não trabalhar por longas cadeias de código

Outras dicas

A única resposta que eu consigo pensar agora é ler o manual para uudeview.

Tanto quanto eu gostaria de ajudar você, eu não sou um expert nessa área, então você vai ter que esperar para que alguém mais qualificada para vir aqui e ajudar você.

Enquanto isso, eu posso dar a você alguns links para documentos que podem ajudar você:

Desculpe se este não o ajudar.

Você não tem que sair do Ruby para fazer isto, pode usar o Base64 módulo em Ruby para codificar o documento como este:

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"

E você pode chamar gzip/gunzip o uso do Kernel#sistema:

system("gzip foo.something")
system("gunzip foo.something.gz")
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top