Бесплатный инструмент для форматирования XML [закрыто]


223

Существует ли бесплатный инструмент форматирования (отступа) XML, в котором можно вставить строку XML и отформатировать ее, чтобы я мог правильно прочитать документ XML?

Спасибо

Изменить ~ Я использую XML Notepad на Windows XP.


1
На какой ты платформе? Какой текстовый редактор вы уже используете? Большинство достойных текстовых редакторов либо поддерживают это из коробки, либо имеют доступные дополнения.
Джон Скит

45
Я нашел это очень конструктивным
JGilmartin

17
Согласен. Этот вопрос действительно подходит для вопросов и ответов: на узкий вопрос был дан фактический ответ. Этот вопрос не должен был быть закрыт.
Бен Коллинз

4
Я тоже согласен. Ответы на этот вопрос дают полезную информацию. Кроме того, закрывать вопрос через 2 года после того, как он был задан, кажется довольно глупым.
Билл W

Лучший форматтер -> freeformatter.com/xml-formatter.html
AZ_

Ответы:


349

Я считаю, что Notepad ++ имеет эту функцию.

Изменить (для более новых версий)
Установите плагин «Инструменты XML» (Плагины меню, Менеджер плагинов).
Затем запустите: Плагины меню, Инструменты XML, Pretty Print (только XML - с переносами строк).

Оригинальный ответ (для более старых версий Notepad ++)

Меню «Блокнот ++»: TextFX -> HTML Tidy -> Tidy: переопределение XML

Эта функция, однако, оборачивает XML, и это делает его «нечистым». Чтобы не было обертки,

  • открыть C:\Program Files\Notepad++\plugins\Config\tidy\TIDYCFG.INI,
  • найдите запись [Tidy: Reindent XML]и добавьте wrap:0так, чтобы она выглядела так:
[Tidy: Reindent XML] 
input-xml: да 
Отступ: да 
завернуть: 0 

3
Вам может понадобиться twu.ca/divisions/technology/sst/orion/blog/...
svrist

3
Я проверил это работает без плагинов. Просто скачайте последнюю версию Notepad ++, и она будет поддерживать это.
Майкл La Voie

7
Забавно (вводит в заблуждение?), Что HTMLTidy описывается как особенность Notepad ++. Это автономный инструмент ( tidy.sourceforge.net ), который существует намного дольше, чем Notepad ++, и его можно использовать в любом текстовом редакторе, который поддерживает внешние инструменты. Я использовал его целую вечность из командной строки, прежде чем я нашел FirstObject XML Editor.
Эш

8
Однако функция отступа XML в Notepad ++ оборачивает XML, и это делает его «нечистым». Мне нравится, как IE это представляет. Чтобы не было переноса для «Tidy: Reindent XML», откройте «C: \ Program Files \ Notepad ++ \ plugins \ Config \ tidy \ TIDYCFG.INI», найдите запись «[Tidy: Reindent XML]» и добавьте «wrap: 0 "так, чтобы это выглядело так: [Tidy: Reindent XML] input-xml: yes indent: yes wrap: 0 Это должно дать неупакованный XML
Джозеф

20
Просто FYI, новейшая версия Notepad ++ (5.9 на момент написания) не включает TextFX, и для его работы требуется ручная сборка DLL. В диспетчере плагинов установите плагин XML Tools - НАМНОГО проще.
Алекс Бердсли

57

Бесплатный XML-редактор Firstobject для Windows называется foxe - отличный инструмент.

Откройте или вставьте в него свой XML-файл и нажмите клавишу F8, чтобы сделать отступ (может потребоваться установить количество отступов, так как по умолчанию оно может быть равно 0).

Выглядит просто, однако он содержит специальный написанный синтаксический анализатор XML, написанный на C ++, который позволяет ему легко работать с очень большими файлами XML (в отличие от некоторых дорогих инструментов, связанных с «шпионажем», которые я использовал).

Со страницы продукта:

Полный исходный код Visual C ++ для этого редактора XML firstobject (включая компонент управления редактированием гигабайта CDataEdit Gigabyte) доступен как часть лицензии Advanced CMarkup Developer. Это позволяет разработчикам реализовывать собственные функции обработки XML, такие как проверка, преобразование, улучшение и создание отчетов для своих собственных целей.


4
Ха, дорогой "шпионаж" ... один на день :)
Саиф Хан

1
Это отличный инструмент. Крошечный как хорошо.
Кев

1
Это даже делает сущности, это действительно удобно!
Джеймс Б

1
это намного лучше, чем этот плагин для xml-инструмента в блокноте ++
Ли Тянь Гун

5
У меня есть файл размером 15 МБ - Notepad ++ много минут безрезультатно перебивал 1 ядро, Visual Studio делал то же самое (и замедлял жевание все большего и большего объема памяти. Foxe может открывать и форматировать его мгновенно - впечатляюще. делает работу
Майк Хани

52

Используйте следующее:

xmllint --format


В моем дистрибутиве Cygwin это уже было, так что, думаю, мне не нужно было загружать бинарный файл Windows, а затем решить, что я лучше напишу скрипт bash
vinnyjames

22

Вы можете открыть файл XML в любом продукте Visual Studio Express и нажать Ctrl+ A, Ctrl+ K, Ctrl+, Fчтобы получить его в хорошем формате.

Эй, это бесплатно и это инструмент, так что он подходит под вопрос. :-)


Я имел обыкновение делать это: D Хорошо, у меня было правильное издание VS. Я так рад, что теперь я знаю о лучших легких инструментах!
jamiebarrow

1
Все это время я копировал его из VS в Notepad ++ просто для форматирования xml, и я мог бы просто сделать это! Более того, я уже использую Ctrl + K Ctrl + F для форматирования кода. :-) Хороший.
Ли Оадс

1
И даже может быть немного упрощен, так как Ctrl + K, Ctrl + D форматирует весь документ, так что вы можете пропустить Ctrl + A.
Ганс Олссон,

16

Еще один способ переопределить XML в Notepad ++:

В меню выберите «Плагины» -> «Инструменты XML» -> «Красивая печать» (только XML - с переносами строк)
или нажмите « Ctrl+ Alt+ ShiftB.


3
Вам может понадобиться добавить плагин, прежде чем вы сможете сделать это. добавить с помощью менеджера плагинов
неприятная паста

даже с этим плагином, NPP становится намного медленнее, даже открывая файлы размером более 20 МБ на моем компьютере Core-i5 / 8GB
kmonsoor

5

Вы также можете попробовать http://xmltoolbox.appspot.com/ это онлайн форматтер XML. Вы просто вставляете свой XML в большое текстовое поле и нажимаете «форматировать XML», тогда он довольно печатает XML в текстовом поле, чтобы его было легко читать или копировать.

Есть также хорошая небольшая функция фильтра, которая позволяет вам видеть все определенные элементы.

Надеюсь, вам понравится инструмент


4

Если вы используете Notepad ++, я бы предложил установить плагин XML Tools . Вы можете украсить любой контент XML (отступы и разрывы строк) или линеаризировать его. Также вы можете (автоматически) проверить ваш файл и применить к нему XSL-преобразование.

Загрузите последнюю версию zip и скопируйте извлеченную DLL в каталог plugins вашей установки Notepad ++. Также загрузите внешние библиотеки и скопируйте их в каталог% SystemRoot% \ system32 \.


На самом деле вам также понадобятся ext_libs, есть исполняющий файл, который сделает все за вас в
репозитории

3

Расширенное традиционное форматирование [обновление]

XMLSpectrum - это подсветка синтаксиса с открытым исходным кодом. Поддержка XML - но со специальными функциями для XSLT 2.0, XSD 1.1 и XPath 2.0. Я упоминаю об этом здесь, потому что он также имеет специальные возможности форматирования для XML: он выравнивает по вертикали атрибуты и их содержимое, а также элементы - для улучшения читаемости XML.

Выходной HTML-код подходит для просмотра в браузере или, если XML требует дальнейшего редактирования, его можно скопировать и вставить в XML-редактор по вашему выбору.

Поскольку xmlspectrum.xsl использует собственный синтаксический анализатор XML, все содержимое, такое как ссылки на сущности и разделы CDATA, сохраняется - как в редакторе.

введите описание изображения здесь

Примечание по использованию: это всего лишь таблица стилей XSLT 2.0, поэтому вам необходимо заключить требуемую командную строку (предоставленные образцы) в небольшой скрипт, чтобы вы могли автоматически преобразовать источник XML.

Виртуальное форматирование

XMLQuire - это бесплатный редактор XML, который обладает специальными возможностями форматирования - он правильно форматирует XML, включая многострочные атрибуты, значения атрибутов, отступы для переноса слов и даже комментарии XML.

Все отступы XML выполняются без вставки табуляции или пробелов, обеспечивая целостность XML. Для версий Windows более поздних, чем XP, установка не требуется, это всего лишь 3 МБ .exe-файла.

Если вам нужно распечатать отформатированный XML, в предварительном просмотре печати есть специальные параметры, такие как нумерация строк после отступа. Если вам нужно скопировать отформатированный XML в текстовый процессор как форматированный текст, это также доступно.

[Раскрытие информации: я поддерживаю и XMLQuire, и XMLSpectrum как «домашние проекты»]


Я только что написал об этом здесь: blogs.msdn.com/b/brunoterkaly/archive/2013/01/09/…
Бруно

1

Если вы программист, многие библиотеки программирования для синтаксического анализа XML позволят вам проанализировать XML, а затем вывести его - и генерировать довольно печатный, с отступом вывод - опция вывода.


1

Попробуйте http://prettydiff.com/ Алгоритм похож на HTML Tidy, но является более полным. Программа полностью написана на JavaScript, поэтому вам не нужно ничего устанавливать.


1

Notepad ++ хорошо подходит только для ANSI. Если вы делаете что-то вроде «ANSI AS UTF8», аккуратно запачкайте документ: /.


1

Непосредственно ответ, но все же полезно знать: после отступа, пожалуйста, убедитесь, что анализатор (ы) и приложения (и), которые впоследствии будут обрабатывать форматированный XML, не дадут разных результатов. Пробелы часто имеют большое значение в XML, и большинство соответствующих анализаторов передают его в приложение.


Известный пример семантически значимого пробела встречается в WPF . В частности, смежные <Run />теги будут вводить (как правило, нежелательные) пробелы в выводе , если только эти теги не строго прилегают в исходном файле XAML .
Гленн Слэйден
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.