Formater proprement l'indentation d'un XML
Par PlaceOweb le vendredi, avril 16 2010, 19:23 - Système - Lien permanent
Comment ré-indenter proprement la présentation d'un XML pour une lecture humaine simplifiée ?
XML indent human readable
Par XML indent human readable, il faut entendre des tabulations récursives à la ligne :
<?xml version="1.0" encoding="UTF-8"?><oneTag>oneValue</></onTag>
sera converti / affiché comme suit :
<?xml version="1.0" encoding="UTF-8"?> <oneTag>oneValue</> </onTag>
Linux
xmllint
xmllint --format monFichier.xml
Windows
Notepad++ (aussi abrévié NPP)
Notepad++ et ses plugins intégrés ou a télécharger :
http://sourceforge.net/projects/npp-plugins/files/XML%20Tools/
XML Tools
En plus d'installer le plugin XML Tools, il vous faudra ses librairies externes nécessaires : XML Tools/External libs/ext_libs.zip fournissant les fichiers suivant à placer à la racine de votre NPP :
- iconv.dll
- libxml2.dll
- libxslt.dll
- zlib1.dll
Pour formater proprement le XML, passez par le menu :
Compléments > XML Tools > Pretty print (XML only - with line breaks) Ctrl+Alt+Shift+B
ou
Compléments > XML Tools > Pretty print (libXML)
TextFX (Obsolète en 2012 - ce plugin n'a plus de mainteneur et en veut un : TextFX's Future) (TextFX.v0.26.unicode.bin.zip datant de 2009, fournissant NppTextFX.dll)
Pour formater proprement le XML, passez par le menu :
TextFX > TextFX HTML Tidy > Tidy: Reindent XML
Comment installer un plugin pour Notepad++ ?
Habituellement, la seule installation des plugins nécessitent la procédure est de
- placer la dll dans le sous-dossier plugins de votre dossier d'installation de Notepad++
- place vos fichiers de configuration livrés dans plugin\config
- de préférence, placer tous les fichiers de documentation dans plugin\doc, ou dans certains sous-dossier de celui-ci
Notepad++ plugins charges au démarrage. Pour charger un nouveau plugin, vous pouvez soit fermer et redémarrer Notepad++, ou utiliser les Paramétrage -> Importer -> Importer un complément. Ce dernier permet de copier la dll dans le dossier plugin s'il elle n'est pas déjà présente.
Notepad2
Notepad2 ne propose malheureusement pas cette fonctionnalité... on va leur demander, on verra... réponse :
My philosophy is not to include functionality in Notepad2 that can easily be done using small and fast external tools: http://www.flos-freeware.ch/doc/notepad2-FAQs.html#q3 You need to save the file to a temporary location, run HTML Tidy, and reload the file with Notepad2.
Tidy
Tidy est un équivalent linux d'xmllint
tidy.exe -q -i -xml -o xml.output.xml c:\xml.source.xml
Visual Studio
MS Visual Studio permet d'éclaircir la présentation du fichier XML avec (Crtl+E, D)
Commentaires
On peut aussi faire ça sur le net avec par exemple :
http://www.indentation-xml.com/