Recherche de site Web

Formatage XML agréable sous Linux Bash et Python


XML est conçu comme un langage de balisage lisible par l'homme, mais seulement s'il est correctement formaté. Si vous ouvrez un fichier XML, vous pourriez ne pas comprendre son contenu, surtout s'il s'agit d'un fichier XML volumineux. Cependant, vous pouvez imprimer un XML sur Bash ou Python pour le rendre facilement lisible par l'homme. Ce guide présente les différentes manières d'imprimer XML en Bash Linux et en Python de manière agréable.

Comment formater joliment XML dans Linux Bash et Python

Lorsque vous travaillez avec Python, vous pouvez rencontrer un cas où vous souhaitez imprimer du XML. Il peut s'agir d'un fichier XML externe ou du code XML inclus dans le script Python. Pour Linux Bash, vous voudrez peut-être ouvrir un fichier XML dans votre terminal pour voir son contenu. Quoi qu'il en soit, nous verrons les différentes manières d'imprimer le XML de manière agréable.

1. Affichage formaté de XML en Python

Avant de plonger dans les options, voici le fichier XML avec lequel nous allons travailler pour notre exemple :

En Python, vous pouvez travailler avec XML de deux manières principales. Supposons que vous ayez le fichier XML donné en tant que fichier externe et que vous souhaitiez l'imprimer joliment. Vous pouvez importer la bibliothèque "xml.dom.minidom". Une fois importée, vous pouvez utiliser la fonction open() de Python pour lire le contenu de votre fichier externe. Après cela, vous pouvez utiliser la méthode toprettyxml() pour imprimer joliment votre fichier XML externe.

Dans l'exemple suivant, nous utilisons notre fichier externe « details.xml » et créons différentes variables dans le code :

Nous pouvons alors exécuter notre script Python dans le terminal pour obtenir une sortie joliment formatée comme illustré dans la figure suivante. Notez comment l'utilisation de la bibliothèque DOM de Python aide à formater proprement le XML, le rendant facilement lisible par quiconque exécute le script Python:

Alternativement, si vous n'avez qu'un petit fichier XML, vous pouvez l'incorporer directement dans votre script Python. Vous aurez toujours besoin de la bibliothèque DOM Python pour formater le XML interne dans votre script. La fonction utilisée est la même que dans le cas de l'utilisation d'un fichier XML externe, sauf que nous incluons le XML directement.

Regardez comment nous incluons le XML dans l'image suivante :

Vous pouvez ensuite exécuter votre script Python comme nous l'avons fait précédemment. Vous obtiendrez la version formatée de votre fichier XML dans votre sortie comme ce que nous avons obtenu dans notre sortie suivante :

Cette option ne s'applique que lorsque votre fichier XML comporte quelques lignes. Pour un grand fichier XML, envisagez de l'ouvrir en tant que fichier externe.

2. Affichage formaté de XML en Bash

Sur votre terminal, il est possible de visualiser le contenu des fichiers y compris XML. Par exemple, vous pouvez utiliser la commande « cat » pour afficher le contenu de notre fichier « details.xml ». Cependant, la sortie est illisible en raison d'un mauvais formatage.

Pour bien afficher ce fichier XML, il existe différents outils que vous pouvez utiliser. Ici, nous allons couvrir deux des plus courants. Tout d'abord, vous pouvez utiliser "xmlstarlet" qui est généralement installé sur la plupart des systèmes Linux. S'il n'est pas disponible sur votre système, exécutez la commande suivante pour l'installer :

sudo snap install xmlstarlet

Avec "xmlstarlet" sur votre système Linux, vous pouvez formater joliment votre fichier XML comme illustré dans l'exemple suivant. Votre sortie sera soigneusement formatée, ce qui rend la lecture plus facile :

Alternativement, vous pouvez utiliser « xmllint » pour obtenir le même résultat. Commencez par l'installer sur votre système avec la commande suivante :

sudo apt install libxml2-utils

Une fois installé, vous pouvez rapidement imprimer votre fichier XML en utilisant la syntaxe suivante :

xmllint --format details.xml

Votre XML sera formaté et facilement lisible comme montré dans l'exemple suivant :

Supposons que vous souhaitiez créer une sortie du XML formaté. Vous pouvez rediriger la sortie pour créer un nouveau fichier XML comme montré dans l'exemple suivant. Lorsque vous ouvrez le nouveau fichier, vous verrez que vous avez la version bien formatée du XML :

Conclusion

Il est possible de formater joliment les fichiers XML dans Linux Bash ou Python. Avec Python, vous pouvez formater joliment le XML en l'incorporant dans votre code ou en le lisant comme un fichier externe. Pour Linux Bash, vous pouvez utiliser différents outils en ligne de commande. Cet article a détaillé les meilleures options à utiliser dans les deux cas. Essayez-les !