Herramienta de formato XML gratuita [cerrada]

223

¿Existe una herramienta de formato XML (sangría) gratuita en la que pueda pegar una cadena XML y formatearla para poder leer el documento XML correctamente?

Gracias

Editar ~ Estoy usando el Bloc de notas XML en Windows XP.

Saif Khan
fuente
1
¿En qué plataforma estás? ¿Qué editor de texto ya estás usando? La mayoría de los editores de texto decentes admiten esto de forma inmediata o tienen complementos disponibles.
Jon Skeet
45
Esto me pareció muy constructivo
JGilmartin
17
De acuerdo. Esta pregunta en realidad se ajusta bien a las preguntas y respuestas: hubo una respuesta objetiva a una pregunta estrecha. Esta pregunta no debería haberse cerrado.
Ben Collins
44
Yo tambien estoy de acuerdo. Las respuestas a esta pregunta proporcionan información útil. Además, cerrar una pregunta 2 años después de que se hizo parece bastante tonto.
Bill W
The Best Formatter -> freeformatter.com/xml-formatter.html
AZ_

Respuestas:

349

Creo que Notepad ++ tiene esta característica.

Editar (para versiones más recientes)
Instalar el complemento "Herramientas XML" (Complementos de menú, Administrador de complementos)
Luego ejecutar: Complementos de menú, Herramientas Xml, Pretty Print (solo XML - con saltos de línea)

Respuesta original (para versiones anteriores de Notepad ++)

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

Sin embargo, esta característica envuelve XML y eso hace que se vea "impuro". Para no tener envoltura,

  • abierta C:\Program Files\Notepad++\plugins\Config\tidy\TIDYCFG.INI,
  • encuentre la entrada [Tidy: Reindent XML]y agregue wrap:0para que se vea así:
[Tidy: reindent XML] 
input-xml: sí 
guion: si 
envoltura: 0 
Chico
fuente
3
Es posible que necesite twu.ca/divisions/technology/sst/orion/blog/…
svrist
3
Verifiqué que esto funciona sin complementos. Simplemente descargue la última versión de Notepad ++ y lo admitirá.
Michael La Voie el
77
Es curioso (¿engañoso?) Que HTMLTidy se describa como una característica de Notepad ++. Es una herramienta independiente ( tidy.sourceforge.net ) que ha existido mucho más tiempo que Notepad ++ y se puede usar en cualquier editor de texto que admita herramientas externas. Lo utilicé durante años desde el símbolo del sistema antes de encontrar FirstObject XML Editor.
Ash
8
Sin embargo, la función de sangría XML de Notepad ++ envuelve XML y eso hace que se vea "impuro". Me gusta la forma en que IE lo representa. Para no tener una envoltura para "Tidy: Reindent XML", abra "C: \ Archivos de programa \ Notepad ++ \ plugins \ Config \ tidy \ TIDYCFG.INI", busque la entrada "[Tidy: Reindent XML]" y agregue "wrap: 0 "para que se vea así: [Tidy: Reindent XML] input-xml: yes indent: yes wrap: 0 Esto debería dar XML no envuelto
Joseph
20
Solo para su información, la versión más reciente de Notepad ++ (5.9 en el momento de la escritura) no incluye TextFX, y para que funcione requiere la creación manual de una DLL. En el Administrador de complementos, instale el complemento Herramientas XML: MUCHO más fácil.
Alex Beardsley
57

El editor XML gratuito de Firstobject para Windows se llama foxe y es una gran herramienta.

Abra o pegue su XML en él y presione F8 para sangrar (es posible que deba establecer el número de espacios de sangría, ya que puede ser 0).

Parece simple, sin embargo, contiene un analizador XML escrito personalizado escrito en C ++ que le permite trabajar de manera eficiente con archivos XML muy grandes fácilmente (a diferencia de algunas costosas herramientas relacionadas con el "espionaje" que he usado).

Desde la página del producto:

El código fuente completo de Visual C ++ para este editor XML de primer objeto (incluido el componente MFC de control de edición de gigabyte CDataEdit) está disponible como parte de la Licencia avanzada de desarrollador CMarkup. Permite a los desarrolladores implementar funciones personalizadas de manejo de XML como validación, transformación, embellecimiento e informes para sus propios fines.

Ceniza
fuente
44
Ja, caro "espionaje" ... uno para el día :)
Saif Khan
1
Esa es una herramienta ordenada. Diminuto también.
Kev
1
Incluso representa entidades, ¡eso es realmente útil!
James B
1
esto es mucho mejor que ese complemento de herramienta xml en el bloc de notas ++
Li Tian Gong
55
Tengo un archivo de 15 MB: Notepad ++ estaba agotando 1 núcleo durante muchos minutos sin un resultado, Visual Studio estaba haciendo lo mismo (y ralentizando más y más memoria. Foxe puede abrirlo y formatearlo al instante: impresionante. La interfaz de usuario es plan jane pero hace el trabajo.
Mike Honey
52

Use lo siguiente:

xmllint --format

zoul
fuente
mi distro cygwin ya tenía esto, así que supongo que no necesito para descargar las ventanas binario y luego decidir Prefiero escribir un script bash
vinnyjames
22

Puede abrir el archivo XML en cualquier producto de Visual Studio Express y presionar Ctrl+ A, Ctrl+ K, Ctrl+ Fpara obtener un formato correcto.

Oye, es gratis y es una herramienta, por lo que se ajusta a la pregunta. :-)

Franci Penov
fuente
Solía ​​hacer esto: D Bueno, tenía una edición VS adecuada. ¡Estoy tan contento de saber de mejores herramientas livianas ahora!
jamiebarrow
1
Todo este tiempo, lo he estado copiando de VS a Notepad ++ solo para formatear el xml, ¡y podría haberlo hecho! Además, ya uso Ctrl + K Ctrl + F para formatear el código. :-) Buena esa.
Lee Oades
1
E incluso se puede simplificar un poco, ya que Ctrl + K, Ctrl + D formatea todo el documento para que pueda omitir Ctrl + A.
Hans Olsson
16

Otro método para reindentar XML en Notepad ++:

Desde el menú, seleccione Complementos -> Herramientas XML -> Impresión bonita (solo XML - con saltos de línea)
o presione Ctrl+ Alt+ Shift+ B.

Maksym Kozlenko
fuente
3
Es posible que deba agregar el complemento antes de poder hacerlo. agregar a través del Administrador de complementos
desagradable pastilla
incluso con este plugin, NPP se pone bastante lento, incluso la apertura de más de 20 MB de archivos en mi Core-i5 / 8GB PC
kmonsoor
5

También puede probar http://xmltoolbox.appspot.com/ es un formateador xml en línea. Simplemente pegue su xml en un campo de área de texto grande y presione "format xml", luego imprime bastante el xml en el área de texto para que sea fácil de leer o copiar.

También hay una pequeña y agradable característica de filtro que le permite ver todo un determinado elemento.

Espero que disfrutes la herramienta

Ole Bille
fuente
4

Si usa Notepad ++, sugeriría instalar el complemento XML Tools . Puede embellecer cualquier contenido XML (sangría y saltos de línea) o linarizarlo. También puede (auto) validar su archivo y aplicarle la transformación XSL.

Descargue el último zip y copie la DLL extraída en el directorio de complementos de su instalación de Notepad ++. Además, descargue las bibliotecas externas y cópielas en su directorio% SystemRoot% \ system32 \.


fuente
En realidad, también necesitará ext_libs, hay un exe que hará todo por usted en el repositorio de forge de origen
crisis del
3

Formato convencional avanzado [Actualización]

XMLSpectrum es un resaltador de sintaxis de código abierto. Compatible con XML, pero con características especiales para XSLT 2.0, XSD 1.1 y XPath 2.0. Menciono esto aquí porque también tiene capacidades especiales de formato para XML: alinea verticalmente los atributos y sus contenidos, así como elementos, para mejorar la legibilidad de XML.

El HTML de salida es adecuado para su revisión en un navegador o, si el XML necesita más edición, puede copiarse y pegarse en el editor XML que elija.

Debido a que xmlspectrum.xsl usa su propio analizador de texto XML, todo el contenido, como las referencias de entidades y las secciones CDATA, se conservan, como en un editor.

ingrese la descripción de la imagen aquí

Nota sobre el uso: esta es solo una hoja de estilo XSLT 2.0, por lo que deberá incluir la línea de comandos requerida (se proporcionan muestras) en un pequeño script para poder transformar automáticamente la fuente XML.

Formato virtual

XMLQuire es un editor XML gratuito que tiene capacidades de formato especiales: formatea XML correctamente, incluidos atributos de varias líneas, valores de atributo, sangría de ajuste de palabras e incluso comentarios XML.

Toda sangría XML se realiza sin insertar pestañas o espacios, asegurando que se mantenga la integridad del XML. Para versiones de Windows posteriores a XP, no se necesita instalación, es solo un archivo .exe de 3MB.

Si necesita imprimir el XML formateado, hay opciones especiales dentro de la vista previa de impresión, como la numeración de líneas que sigue a la sangría. Si necesita copiar el formato XML a un procesador de texto como texto enriquecido, también está disponible.

[Divulgación: mantengo XMLQuire y XMLSpectrum como 'proyectos caseros']

pgfearo
fuente
Acabo de bloguear sobre esto aquí: blogs.msdn.com/b/brunoterkaly/archive/2013/01/09/…
Bruno
1

Si es un programador, muchas bibliotecas de programación de análisis XML le permitirán analizar XML, luego generarlo, y generar una salida con sangría bastante impresa es una opción de salida.

JohnnySoftware
fuente
1

Pruebe http://prettydiff.com/ El algoritmo es similar a HTML Tidy, pero es más completo. El programa está escrito completamente en JavaScript, por lo que no tiene que instalar nada.

austincheney
fuente
1

Notepad ++ lo hace bien solo si estás en ANSI. Si lo haces en algo como "ANSI AS UTF8", ordena el documento: /.

ykatchou
fuente
1

Sin embargo, no es una respuesta directa, pero es bueno saberlo: después de la sangría, asegúrese de que el analizador y las aplicaciones que posteriormente procesarán el XML formateado no producirán resultados diferentes. El espacio en blanco a menudo es significativo en XML y la mayoría de los analizadores conformes lo agregan a la aplicación.

Mihai Limbășan
fuente
Un ejemplo notorio de espacio en blanco semánticamente significativo ocurre en WPF . Específicamente, las <Run />etiquetas adyacentes introducirán un espacio (generalmente no deseado) en la salida , a menos que esas etiquetas estén estrictamente contiguas en el archivo fuente XAML .
Glenn Slayden