J'ai un fichier avec xml sur une seule ligne. La fonctionnalité existe-t-elle déjà pour reformater ce tampon afin qu'il soit quelque peu lisible par l'utilisateur?
formatting
nxml
xml
wdkrnls
la source
la source
Réponses:
Bien sûr, et vous avez beaucoup d'options. Je le nourrirais probablement dans un programme externe en utilisant:
Ce programme est livré avec
libxml2
. Vous pouvez également utilisertidy
. Voici une liste d'outils de formatage xml en ligne de commande: /programming/16090869/how-to-pretty-print-xml-from-the-command-lineVous pouvez également effectuer une recherche et remplacer puis indenter:
M-% > < RET > C-q C-j < RET ! C-M-\
Astuce: vous pouvez copier et coller la chaîne ci-dessus dans
M-:
(eval-expression
) comme ceci:la source
C-u
préfixe.Le haut-
sgml-mode
a une commande pour ce faire:sgml-pretty-print
. Si vous y êtes,nxml-mode
il semble que vous devez d'sgml-mode
abord passer à . Vous pouvez écrire une commande pour basculer temporairement en mode sgml, exécuter pretty-print, puis revenir en mode nxml.Par exemple, voici une commande qui imprimera joliment la région, éventuellement avec le remplissage automatique activé:
la source
écrivez ceci dans votre
~/.emacs.d/init.el
:rechargez emacs, puis appelez simplement
M-x reformat-xml
le tampon xml mal formaté.source: https://davidcapello.com/blog/emacs/reformat-xml-on-emacs/
la source
En suivant l'indice de la réponse ci-dessus, et en supposant que vous avez
tidy
installé une variante, cela pourrait être:Cela ouvrira un nouveau tampon
*Shell Command Output*
au lieu de remplacer directement le contenu du tampon. Après avoir vérifié le résultat, remplacez l'ancien contenu par le nouveau par:choisissez la valeur par défaut suggérée qui sera probablement
*Shell Command Output*
. Vous pouvez enregistrer la commande pour plus tard avec une macro clavier:Avec cela, vous pouvez exécuter
M-x pretty-xml
pour reformater le tampon.la source
Marquez votre xml et faites:
Ou exécutez simplement la commande sans région marquée pour embellir tout le tampon.
la source