Comment puis-je modifier les fichiers .xfdl? (Mise à jour # 1)

L'extension de fichier .XFDL identifie les fichiers de document formatés XFDL . Ils appartiennent à la norme de formatage de document et de modèle XML. Ce format est exactement comme le format de fichier xml mais contient un niveau de cryptage à utiliser dans les communications sécurisées.

Je sais comment afficher les fichiers XFDL en utilisant une visionneuse de fichiers que j'ai trouvé ici . Je peux également modifier et enregistrer ces fichiers en faisant Fichier: Enregistrer / Enregistrer sous. Je voudrais cependant modifier ces fichiers à la volée. Aucune suggestion? Est-ce seulement possible?

Mise à jour # 1: J'ai maintenant décodé et décompressé avec succès un .xfdl dans un fichier xml que je peux ensuite modifier. Maintenant, je cherche un moyen de recoder le fichier xml modifié en base64-gzip (en utilisant ruby ou la ligne de commande)

0

3 Réponses

Vous n'avez pas à sortir de ruby pour cela, vous pouvez utiliser le module Base64 dans ruby pour encoder le document comme ceci:

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"

Et vous pouvez appeler gzip / gunzip en utilisant le système Kernel #:

system("gzip foo.something")
system("gunzip foo.something.gz")
0
ajouté

Si l'encodage est base64 , alors c'est la solution que j'ai trouvée sur le web lien :

"Décodage des fichiers XDFL enregistrés avec 'encoding = base64'. Fichiers enregistrés avec:

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

sont de simples fichiers gzip encodés en base64. Ils peuvent être facilement restaurés en xml en les décodant d'abord puis en les décompressant. Cela peut être fait comme suit sur Ubuntu:

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

La première commande va installer uudeview, un paquet qui peut décoder base64, entre autres. Vous pouvez ignorer cette étape une fois qu'il est installé.

En supposant que votre formulaire est enregistré en tant que «yourform.xfdl», la commande uudeview décode le contenu en tant que «UNKNOWN.001», car le fichier xfdl ne contient pas de nom de fichier. L'option '-i' rend uudeview non interactif, supprimez cette option pour plus de contrôle.

La dernière commande gunzips le fichier décodé dans un fichier nommé 'yourform-unpacked.xfdl'. "

Another possible solution - here

Side Note: Block quoted < code > doesn't work for long strings of code

0
ajouté
C'est drôle, même après 6 ans, je trouve ça sur SO et ça va rendre ma vie tellement plus facile.
ajouté l'auteur Deryck, source

La seule réponse que je peux penser en ce moment est - lisez le manuel pour uudeview.

Même si je voudrais vous aider, je ne suis pas un expert dans ce domaine, donc vous devrez attendre que quelqu'un de plus compétent puisse venir ici et vous aider.

En attendant, je peux vous donner des liens vers des documents qui pourraient vous aider:

Désolé si cela ne vous aide pas.

0
ajouté