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

Translate

le.XFDLl'extension de fichier identifieXFDLFichiers de document formatés. Ceux-ci appartiennent à la norme de formatage des documents et des modèles basée sur 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 à l'aide d'un visualiseur de fichiers que j'ai trouvéici. Je peux également modifier et enregistrer ces fichiers en faisant Fichier: Enregistrer / Enregistrer sous. J'aimerais cependant modifier ces fichiers à la volée. Aucune suggestion? Est-ce seulement possible?

Mise à jour n ° 1: J'ai maintenant décodé et décompressé avec succès un.xfdldans un fichier XML que je peux ensuite éditer. Maintenant, je cherche un moyen de ré-encoder le fichier XML modifié en base64-gzip (en utilisant Ruby ou la ligne de commande)

This question and all comments follow the "Attribution Required."

Toutes les réponses

Translate

Si l'encodage estbase64alors c'est la solution sur laquelle je suis tombé sur le weblien :

"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 au format 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 installera uudeview, un paquet qui peut décoder base64, entre autres. Vous pouvez ignorer cette étape une fois qu'elle est installée.

En supposant que votre formulaire est enregistré sous «yourform.xfdl», la commande uudeview décodera le contenu comme «INCONNU.001», car le fichier xfdl ne contient pas de nom de fichier. L'option '-i' rend uudeview ininteractif, supprimez cette option pour plus de contrôle.

La dernière commande zippe le fichier décodé dans un fichier nommé «yourform-unpacked.xfdl». "

Un autresolution possible -ici

Note latérale: Le bloc entre guillemets <code> ne fonctionne pas pour les longues chaînes de code

La source
Translate

La seule réponse à laquelle je peux penser pour le moment est - lisez le manuel de uudeview.

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

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

Désolé si cela ne vous aide pas.

La source
Translate

Vous n'avez pas besoin de sortir de Ruby pour ce faire, vous pouvez utiliser le module Base64 de 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")
La source