Outil de formatage XML gratuit [fermé]

223

Existe-t-il un outil gratuit de mise en forme XML (retrait) où je peux coller une chaîne XML et la mettre en forme afin de pouvoir lire correctement le document XML?

Merci

Modifier ~ J'utilise le bloc-notes XML sur Windows XP.

Saif Khan
la source
1
Sur quelle plateforme êtes-vous? Quel éditeur de texte utilisez-vous déjà? La plupart des éditeurs de texte décents le prennent en charge immédiatement ou ont des modules complémentaires disponibles.
Jon Skeet
45
J'ai trouvé cela très constructif
JGilmartin
17
Se mettre d'accord. Cette question correspond en fait bien à la Q&R: il y avait une réponse factuelle à une question étroite. Cette question n'aurait pas dû être close.
Ben Collins
4
Je suis également d'accord. Les réponses à cette question fournissent des informations utiles. De plus, clôturer une question 2 ans après qu'elle a été posée semble plutôt idiot.
Bill W
Le meilleur formateur -> freeformatter.com/xml-formatter.html
AZ_

Réponses:

349

Je crois que Notepad ++ a cette fonctionnalité.

Editer (pour les versions plus récentes)
Installer le plugin "Outils XML" (Plugins Menu, Plugin Manager)
Puis lancer: Plugins Menu, Outils Xml, Pretty Print (XML uniquement - avec sauts de ligne)

Réponse originale (pour les anciennes versions de Notepad ++)

Menu Notepad ++: TextFX -> HTML Tidy -> Tidy: Reindent XML

Cette fonctionnalité enveloppe cependant les XML et cela donne un aspect «impur». Pour ne pas envelopper,

  • ouvert C:\Program Files\Notepad++\plugins\Config\tidy\TIDYCFG.INI,
  • recherchez l'entrée [Tidy: Reindent XML]et ajoutez-la wrap:0pour qu'elle ressemble à ceci:
[Tidy: XML réindenté] 
input-xml: oui 
tiret: oui 
envelopper: 0 
Gars
la source
3
Vous pourriez avoir besoin de twu.ca/divisions/technology/sst/orion/blog/…
svrist
3
J'ai vérifié que cela fonctionne sans plug-ins. Il suffit de télécharger la dernière version de Notepad ++ et il le supportera.
Michael La Voie
7
C'est drôle (trompeur?) Que HTMLTidy soit décrit comme une fonctionnalité de Notepad ++. Il s'agit d'un outil autonome ( tidy.sourceforge.net ) qui existe depuis bien plus longtemps que Notepad ++ et peut être utilisé dans n'importe quel éditeur de texte qui prend en charge les outils externes. Je l'ai utilisé pendant des siècles à partir de l'invite de commandes avant de trouver l'éditeur XML FirstObject.
Ash
8
Cependant, la fonctionnalité de retrait XML de Notepad ++ enveloppe les fichiers XML, ce qui la rend «impure». J'aime la façon dont IE le représente. Pour ne pas avoir d'habillage pour "Tidy: Reindent XML", ouvrez "C: \ Program Files \ Notepad ++ \ plugins \ Config \ tidy \ TIDYCFG.INI", recherchez l'entrée "[Tidy: Reindent XML]" et ajoutez "wrap: 0 "pour qu'il ressemble à ceci: [Tidy: Reindent XML] input-xml: yes indent: yes wrap: 0 Cela devrait donner du XML non encapsulé
Joseph
20
Juste pour info, la dernière version de Notepad ++ (5.9 au moment de la rédaction) n'inclut pas TextFX, et le faire fonctionner nécessite la construction manuelle d'une DLL. Dans Plugin Manager, installez le plugin XML Tools - BEAUCOUP plus facilement.
Alex Beardsley
57

L'éditeur XML gratuit de Firstobject pour Windows est appelé foxe est un excellent outil.

Ouvrez ou collez votre XML dedans et appuyez sur F8 pour mettre en retrait (vous devrez peut-être définir le nombre d'espaces de retrait car il peut par défaut être 0).

Il semble simple, mais il contient un analyseur XML écrit personnalisé écrit en C ++ qui lui permet de travailler efficacement avec de très gros fichiers XML facilement (contrairement à certains outils liés à l'espionnage coûteux que j'ai utilisés).

Depuis la page produit:

Le code source complet de Visual C ++ pour ce premier éditeur XML d'objet (y compris le composant MFC de contrôle d'édition de gigaoctets CDataEdit) est disponible dans le cadre de la licence Advanced CMarkup Developer License. Il permet aux développeurs d'implémenter des fonctions de gestion XML personnalisées telles que la validation, la transformation, l'embellissement et la génération de rapports à leurs propres fins.

Cendre
la source
4
Ha, cher "espionnage" ... un pour la journée :)
Saif Khan
1
C'est un bon outil. Minuscule aussi.
Kev
1
Il rend même des entités, c'est vraiment pratique!
James B
1
c'est tellement mieux que ce plugin d'outil xml dans le bloc-notes ++
Li Tian Gong
5
J'ai un fichier de 15 Mo - Notepad ++ battait 1 cœur pendant plusieurs minutes sans résultat, Visual Studio faisait de même (et ralentissait de plus en plus de mémoire. Foxe peut l'ouvrir et le formater instantanément - impressionnant. L'interface utilisateur est plan-jane mais elle fait le travail.
Mike Honey
52

Utilisez le suivant:

xmllint --format

zoul
la source
ma distribution cygwin avait déjà cela, donc je suppose que je n'avais pas besoin de télécharger le binaire de Windows et de décider que je préfèrerais écrire un script bash
vinnyjames
22

Vous pouvez ouvrir le fichier XML dans n'importe quel produit Visual Studio Express et appuyez sur Ctrl+ A, Ctrl+ K, Ctrl+ Fpour obtenir un formatage agréable.

Hé, c'est gratuit et c'est un outil, donc ça correspond à la question. :-)

Franci Penov
la source
J'avais l'habitude de faire ceci: D Eh bien, j'avais une édition VS appropriée. Je suis tellement content de connaître de meilleurs outils légers maintenant!
jamiebarrow
1
Pendant tout ce temps, je l'ai copié de VS vers Notepad ++ juste pour formater le xml, et j'aurais pu le faire! De plus, j'utilise déjà Ctrl + K Ctrl + F pour formater le code. :-) Joli.
Lee Oades
1
Et peut même être un peu simplifié puisque Ctrl + K, Ctrl + D formate le document entier afin que vous puissiez sauter le Ctrl + A.
Hans Olsson
16

Une autre méthode pour réindenter XML dans Notepad ++:

Dans le menu, sélectionnez Plugins -> Outils XML -> Pretty print (XML uniquement - avec des sauts de ligne)
ou appuyez sur Ctrl+ Alt+ Shift+ B.

Maksym Kozlenko
la source
3
vous devrez peut-être ajouter le plugin avant de pouvoir le faire. ajouter via le Plugin Manager
méchant pasty
même avec ce plugin, NPP devient plus lent, même en ouvrant plus de 20 Mo de fichiers sur mon PC Core-i5 / 8GB
kmonsoor
5

Vous pouvez également essayer http://xmltoolbox.appspot.com/ c'est un formateur xml en ligne. Vous venez de coller votre xml dans un grand champ de zone de texte et appuyez sur "format xml" puis il imprime joliment le xml dans la zone de texte afin qu'il soit facile à lire ou à copier.

Il y a aussi une jolie petite fonctionnalité de filtre qui vous permet de voir tout d'un certain élément.

J'espère que vous apprécierez l'outil

Ole Bille
la source
4

Si vous utilisez Notepad ++, je vous suggère d'installer le plugin XML Tools . Vous pouvez embellir n'importe quel contenu XML (indentation et sauts de ligne) ou le linéariser. Vous pouvez également (auto-) valider votre fichier et lui appliquer une transformation XSL.

Téléchargez le dernier zip et copiez la DLL extraite dans le répertoire plugins de votre installation Notepad ++. Téléchargez également les bibliothèques externes et copiez-les dans votre répertoire% SystemRoot% \ system32 \.


la source
En fait, vous aurez également besoin des ext_libs, il y a un exe qui fera tout pour vous dans le
dépôt de
3

Formatage conventionnel avancé [Mise à jour]

XMLSpectrum est un surligneur de syntaxe open source. Prise en charge de XML - mais avec des fonctionnalités spéciales pour XSLT 2.0, XSD 1.1 et XPath 2.0. Je le mentionne ici parce qu'il a également des capacités de formatage spéciales pour XML: il aligne verticalement les attributs et leur contenu ainsi que les éléments - pour améliorer la lisibilité XML.

Le code HTML de sortie est adapté à la révision dans un navigateur ou si le XML doit être modifié, il peut être copié et collé dans un éditeur XML de votre choix

Étant donné que xmlspectrum.xsl utilise son propre analyseur de texte XML, tout le contenu, comme les références d'entité et les sections CDATA, est conservé - comme dans un éditeur.

entrez la description de l'image ici

Remarque sur l'utilisation: il s'agit simplement d'une feuille de style XSLT 2.0, vous devez donc inclure la ligne de commande requise (exemples fournis) dans un petit script afin de pouvoir transformer automatiquement la source XML.

Formatage virtuel

XMLQuire est un éditeur XML gratuit qui possède des capacités de formatage spéciales - il formate correctement XML, y compris les attributs multi-lignes, les valeurs d'attribut, l'indentation de retour à la ligne et même les commentaires XML.

Toutes les indentations XML sont effectuées sans insérer d'onglets ou d'espaces, garantissant ainsi l'intégrité du XML. Pour les versions de Windows postérieures à XP, aucune installation n'est nécessaire, c'est juste un fichier .exe de 3 Mo.

Si vous devez imprimer le XML formaté, il existe des options spéciales dans l'aperçu avant impression, telles que la numérotation des lignes qui suit l'indentation. Si vous devez copier le XML formaté dans un traitement de texte en tant que texte enrichi, cela est également disponible.

[Divulgation: je maintiens XMLQuire et XMLSpectrum en tant que «projets personnels»]

pgfearo
la source
Je viens de bloguer à ce sujet ici: blogs.msdn.com/b/brunoterkaly/archive/2013/01/09/…
Bruno
1

Si vous êtes un programmeur, de nombreuses bibliothèques de programmation d'analyse XML vous permettront d'analyser XML, puis de le produire - et de générer une sortie en retrait assez imprimée est une option de sortie.

JohnnySoftware
la source
1

Essayez http://prettydiff.com/ L'algorithme est similaire à HTML Tidy, mais est plus complet. Le programme est entièrement écrit en JavaScript, vous n'avez donc rien à installer.

austincheney
la source
1

Notepad ++ ne le dit bien que si vous êtes en ANSI. Si vous le faites dans quelque chose comme "ANSI AS UTF8", rangez bien le doc: /.

ykatchou
la source
1

Pas directement une réponse, mais bon à savoir néanmoins: après retrait, assurez-vous que le ou les analyseurs et applications qui traiteront ensuite le XML formaté ne donneront pas de résultats différents. L'espace blanc est souvent significatif en XML et la plupart des analyseurs conformes se propagent jusqu'à l'application.

Mihai Limbășan
la source
Un exemple notoire d'espaces sémantiquement significatifs se produit dans WPF . Plus précisément, les <Run />balises adjacentes introduiront un espace (généralement indésirable) dans la sortie , sauf si ces balises sont strictement contiguës dans le fichier source XAML .
Glenn Slayden