Как отформатировать XML в Notepad ++?

У меня есть Notepad ++ и очень длинный код XML. Когда я вставил его в Notepad ++, там была длинная строка кода (трудно читать и работать с ней).

Я хочу знать, есть ли простой способ сделать текст читабельным (под читаемым я подразумеваю код с правильными вкладками).

Я могу сделать это вручную, но мне нужно постоянное решение этой проблемы, поскольку я сталкивался с этим несколько раз. Я уверен, что есть способ сделать это, поскольку я уже делал это однажды пару лет назад, возможно, с помощью Visual Studio или какой-нибудь другой редактор, не помню.

Но может ли Notepad ++ это сделать?


person happyhardik    schedule 18.10.2010    source источник
comment
В последних версиях настройка XMLTools немного сложна. В Windows 10, Notepad ++ версии V6.6.8 я успешно настроил XMLTools 2.4.7. Загрузите последнюю версию подключаемого модуля по этой ссылке и следуйте инструкциям в install.txt ›notepad-plus-plus.org/community/topic/125/.   -  person S.Roshanth    schedule 28.03.2017
comment
Текущее решение для 64-битной версии: superuser.com/q/1239935/333622   -  person Raidri    schedule 09.03.2018


Ответы (20)


Попробуйте плагины -> Инструменты XML -> Pretty Print (libXML) или (только XML - с разрывами строк Ctrl + Alt + Shift + Б)

Вам может потребоваться установить инструменты XML с помощью диспетчера подключаемых модулей, чтобы эта опция появилась в меню.

По моему опыту, libXML дает хороший результат, но только если файл на 100% правильно сформирован.

person erjiang    schedule 18.10.2010
comment
если вы не можете найти инструменты XML в разделе «Плагины», вызовите его из «Плагины› Диспетчер плагинов »› Показать диспетчер плагинов. - person ala; 03.04.2012
comment
Если при попытке использования этого подключаемого модуля вы получаете сообщение об ошибке «Обнаружены ошибки в содержимом», попробуйте Инструменты XML - ›Проверьте синтаксис XML сейчас. У меня возникла проблема, когда кодировка была указана как UTF-16, но на самом деле была UTF-8. Изменение атрибута кодировки в XML-файле устранило проблему. - person Mirza Dobric; 20.07.2012
comment
Если вы используете Windows 8 и старый Notepad ++, установка подключаемых модулей может не работать. Загрузите последнюю версию Notepad ++, чтобы решить эту проблему. 6.1.7 у меня работала. - person Michael S.; 15.09.2012
comment
И если ваш диспетчер подключаемых модулей не может найти инструменты XML из-за того, что вы работаете за прокси-сервером, загрузите его отсюда sourceforge.net/projects/npp-plugins/files/XML%20Tools Затем скопируйте XMLTools.dll в каталог плагинов, а остальные четыре DLL в корневой каталог Notepad ++. - person Amit Naidu; 04.12.2012
comment
И если ваш диспетчер подключаемых модулей не может найти инструменты XML, потому что вы находитесь за прокси-сервером на работе Это не обязательно проблема, если у вас есть обычный прокси, нажмите Настройки и введите его данные. - person ta.speot.is; 14.02.2013
comment
Объявите, если вы не видите доступных плагинов, перейдите в раздел обновлений и обновите диспетчер плагинов. - person Surasin Tancharoen; 14.02.2013
comment
@erjiang Есть ли способ включить этот плагин на постоянной основе, поскольку каждый раз, когда я открываю новый XML-документ, мне нужно повторно включать его? - person JsonStatham; 04.06.2013
comment
Плагины ›Диспетчер плагинов› Показать диспетчер плагинов ›Вкладка Доступные› Получить ›Установить. - person Steam; 17.01.2014
comment
Если ваш диспетчер подключаемых модулей не может найти инструменты XML, потому что вы находитесь за прокси-сервером (например, на работе), нажмите Settings в диспетчере подключаемых модулей и добавьте прокси-сервер. - person SebastianH; 25.02.2014
comment
Он не поддерживает прокси, требующие аутентификации. Вероятно, было бы более полезно, если бы он использовал настройки IE / System, как это делает Chromium. - person Emyr; 27.03.2014
comment
Диспетчер плагинов - ›Настройки позволяет вводить информацию о прокси-сервере. - person Des Horsley; 01.05.2015
comment
Если красивая печать, похоже, не меняет того, что, по вашему мнению, она должна, сначала используйте Plugins / XML Tools / Linarize (помещает все в одну строку без лишних пробелов), а затем распечатайте ее. - person Jesse Chisholm; 04.08.2015
comment
Это может показаться глупым, но, пожалуйста, не забудьте сделать файл доступным для записи, иначе он будет игнорировать ваши команды из Xml Tools. Это потому, что эти команды фактически «изменяют содержимое», а не переключают представление. - person ScottRhee; 12.10.2015
comment
В настоящее время этот плагин называется XML Tools. - person Fka; 17.03.2016
comment
Не буду устанавливать плагин для меня. Продолжайте получать процесс gpup перестал работать - person Ronnie W; 07.12.2016
comment
И если вы не можете установить плагин (по причинам, подобным моей, наша компания не разрешает плагины) - используйте eclipse! 1. Создайте новый файл, tmp.xml, 2. Вставьте все xmls (также может быть несколько xmls) 3. Нажмите Ctrl + Shift + F 4. Будьте удивлены и счастливы  - person Anand Rockzz; 23.12.2016
comment
... И если у вас нет подключаемого модуля диспетчера подключаемых модулей, вы можете получить его отсюда: github. com / bruderstein / nppPluginManager / Release - person Chris W; 19.01.2017
comment
Мой диспетчер плагинов был поврежден и не позволял даже копировать вручную, поэтому я переустановил диспетчер плагинов, как указано на bruderste.in/npp/pm/#install. - person CWilson; 31.05.2018
comment
Если кто-то в 2019 году или позже столкнется с этим вопросом, этот ответ на superuser.se сработал для меня (npp 7.6.6 32-бит): superuser.com/a/1421246/41699 - person Jay Cummins; 09.04.2019
comment
Я не нашел кнопки настроек в Plugin Admin в версии 7.6 (да, они также изменили название меню), где вы можете редактировать прокси. Чтение stackoverflow.com/a/34632275/1323283 поможет, запустив updater \ GUP.exe -options. - person tedyyu; 28.04.2019
comment
Кажется, нет способа указать отступ, но если вы измените первый отступ в файле, он будет использовать это соглашение для остальной части документа. - person Millie Smith; 28.08.2019
comment
ссылка на github плагина github.com/morbac/xmltools/releases - person Raja Dorji; 18.06.2020
comment
в Notepad ++ v7.8.9, чтобы добавить прокси: запустите от имени администратора, затем меню ?Set Updater Proxy - person Julien; 11.09.2020
comment
Notepad ++ v7.9 включает диспетчер подключаемых модулей и средство обновления. - person IODEV; 06.10.2020

Вам необходимо установить инструмент XML из пункта меню PluginsPlugins Admin ...Появится диалоговое окно Plugins Admin, а затем прокрутите страницу вниз доступные плагины и проверьте инструменты XML, установите их, а затем Ctrl + Alt + Shift + B ИЛИ вариант для инструмента XML, показанного выше.

person abhi    schedule 25.06.2012

Step 1: Install XML Tools plugin
Step 2: Format ....completed

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

person iCrazybest    schedule 24.12.2015
comment
отличный ответ, однако у меня нет диспетчера плагинов o_O Может кто-нибудь помочь? Его тем временем удалили? - person fl0w; 26.02.2018
comment
работал у меня .. В новых версиях блокнота ++ есть плагин admin вместо менеджера плагинов - person Jayani Sumudini; 30.07.2019

Попробуйте TextFX → TextFX Html Tidy → Tidy: восстановить XML

Если вы не можете попробовать с Eclipse, нажмите правую кнопку, выберите источник и исправьте отступ.

person Torres    schedule 18.10.2010
comment
Спасибо за ответ, но я не могу найти Tidy: reindent XML в моем меню TextFX Html Tidy. Вы можете сказать мне, что мне не хватает? - person happyhardik; 20.10.2010
comment
Если у вас нет глобальной опции TextFX, вам необходимо установить плагин с именем TextFX. Но этого недостаточно, по-видимому, в версиях 6.x также отсутствует загрузка libtidy.dll, поэтому вам придется пройти через обручи, чтобы ее получить. Тогда у вас будет опция Tidy: reindent XML (я полагаю) - person rogerdpack; 27.11.2013
comment
У меня есть такая опция, но она ничего не делает (и не выдает сообщения об ошибке). - person Danubian Sailor; 10.02.2014
comment
Для всех, кому интересно, обручи, упомянутые @rogerdpack, обсуждаются здесь - person Steve Chambers; 17.11.2014
comment
@DanubianSailor У меня такая же проблема. Мне пришлось поиграть с инструментами XML, и я обнаружил, что один из вариантов форматирования там работает. - person Shiv; 07.08.2017
comment
Основная проблема, с которой я сталкиваюсь с TidyXML, заключается в том, что он безумно медленен для любого файла размером более одного или двух мегабайт. - person T.S; 02.08.2018
comment
TextFX был прекращен - из Будущее TextFX : ... попрощайтесь со стареющей рабочей лошадкой, которая хорошо послужила обществу. - person Peter Mortensen; 06.04.2019

Плагины -> Инструменты XML -> Pretty Print (libXML) или Ctrl + Alt + Shift + B

Вероятно, вам потребуется установить плагин:

Плагины> Диспетчер плагинов> Показать диспетчер плагинов

Если вы используете прокси-сервер, загрузите его здесь.

Затем скопируйте XMLTools.dll в каталог плагинов, а внешние библиотеки (четыре dll) в корневой каталог Notepad ++.

person jbigman    schedule 15.11.2013

Вот большинство плагинов, которые вы можете использовать в Notepad ++ для форматирования вашего XML-кода.

  • UniversalIndentGUI
    (рекомендую этот)

Включите автоматическое обновление текста в диспетчере плагинов -> UniversalIndentGUI
Shortkey = CTRL + ALT + SHIFT + Дж

  • TextFX
    (это инструмент, который использует большинство пользователей)

Shortkey = CTRL + ALT + SHIFT + B

  • Инструменты XML
    (настраиваемый плагин для XML)

Shortkey = CTRL + ALT + SHIFT + B

person Sameera R.    schedule 05.09.2014
comment
Когда я использую UniversalIndentGUI для отступа одной большой строки XML, это не работает. У меня нет сдачи. - person Alex; 20.03.2015
comment
Я проверил еще раз, и он не работает сразу после установки плагина. Вам нужно отредактировать настройки плагина, перейти к параметрам XML-отступа и установить флажок «Принудительно перенести строку». Теперь это работает. Спасибо за советы, потому что это помогает для XML не на 100% правильно :) - person Alex; 23.03.2015
comment
UniversalIndentGUI работал у меня там, где другие варианты терпели неудачу, не знаю почему, за исключением того, что XML-файл, который я приукрашивал, был 40 МБ плюс. К тому же это было очень быстро. Приветствую Алекса за подсказку о параметре новой строки в формате XML. - person Branstar; 10.09.2015
comment
TextFX был прекращен - из Будущее TextFX : ... попрощайтесь со стареющей рабочей лошадкой, которая хорошо послужила обществу. - person Peter Mortensen; 06.04.2019

Все предыдущие ответы не определяют, как добавить диспетчер плагинов в вашу установку Notepad ++.

Это для людей, которые не видят диспетчер плагинов на вкладке плагинов

Загрузите диспетчер подключаемых модулей по этой ссылке - это для 64-разрядного диспетчера подключаемых модулей . После загрузки диспетчера плагинов вставьте его в папку плагинов. Это была моя папка с плагином: C:\Program Files\Notepad++\plugins

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

После вставки файла .dll перезапустите Notepad ++. Теперь вы можете установить любой плагин. Чтобы установить плагин, щелкните вкладку плагинов, затем перейдите в диспетчер плагинов и выберите нужный плагин.

person Varun    schedule 04.09.2018

Для достижения наилучших результатов вы должны использовать оба TextFX XML tidy и инструменты XML для печати. Вот как и почему:

1.TextFX -> TextFX HTML Tidy -> Tidy: reindent XML

У TextFX есть преимущество обертывания длинных строк, чего нет в инструментах XML, но он не делает отступы для этих новых строк правильно.

2. XML Tools -> Pretty print (Text indent)

Инструменты XML дополняют TextFX, красиво отступая только что обернутым строкам.

person Some Noob Student    schedule 04.09.2012
comment
Я пытался сравнить 2 разных файла конфигурации среды ... у которых было около 10 разных настроек ... но атрибуты xml были в одной строке в одном файле и в разных строках в другом файле xml. Только выполнив оба этих действия, в инструменте сравнения файлов обнаружились фактические различия. Спасибо. - person granadaCoder; 18.08.2015
comment
TextFX был прекращен - из Будущее TextFX : ... попрощайтесь со стареющей рабочей лошадкой, которая хорошо послужила обществу. - person Peter Mortensen; 06.04.2019

Если вы получите эту ошибку:

«Ошибка

Не удается загрузить 32-разрядный плагин, XMLTools.dll несовместим с текущей версией Notepad ++

Здесь вы можете найти рабочую версию для Windows 10 x64: Xml Tools 2.4.9.2 Unicode

Примечание. Это единственная версия, которую я нашел работающей в Windows 10 Professional x64.

person ᗩИᎠЯƎᗩ    schedule 01.06.2017

Хорошо, вот как я это сделал в Notepad ++:

  • Плагины
  • Менеджер плагинов
  • Показать диспетчер плагинов
  • Проверить инструменты XML
  • Установить
  • Перезагрузите Блокнот ++
  • Открыть файл XML
  • Плагины
  • Инструменты XML
  • Хорошая печать (только XML - с разрывами строк)
person Michael B    schedule 15.05.2013

Подробную информацию можно найти здесь Быстрое форматирование XML с помощью Pretty Print (libXML)

Установка инструментов XML

Если вы запустите Notepad ++ и заглянете в меню «Плагины», вы увидите, что инструментов XML там нет:

  1. Загрузите инструменты XML с сайта здесь.

  2. Разархивируйте файл и скопируйте XMLTools.dll в папку плагинов Notepad ++ (в приведенном выше примере: C: \ Program Files (x86) \ Notepad ++ \ plugins):

  3. Перезапустите Notepad ++, и теперь вы должны увидеть, что XMLTools появится в меню Plugins.

  4. Разархивируйте файл ext_libs.zip, а затем скопируйте распакованные библиотеки DLL в каталог установки Notepad ++ (в приведенном выше примере: C: \ Program Files (x86) \ Notepad ++).

  5. Перезапустите Notepad ++, и вы, наконец, должны увидеть правильное меню инструментов XML.

  6. Чаще всего я использую «красивую печать (только XML - с разрывами строк)». Это отформатирует любой фрагмент XML с правильным межстрочным интервалом.

person Spartan    schedule 03.07.2015

Notepad ++ v6.6.3 с плагином «Инструменты XML» и ярлыком Ctrl + Alt + Shift + B работает нормально.

person hoggar    schedule 23.07.2014

В Notepad ++ нет такой вещи, как TextFX, по крайней мере, в последней версии. Это одна из причин, по которой я все еще использую DreamWeaver, даже если это сводит меня с ума. медленно и время от времени не отвечает ...

person Snowalker    schedule 11.01.2012
comment
да, в новой версии многое изменилось, но я все еще не мог решить эту проблему! - person happyhardik; 11.01.2012
comment
для версий 5.9.x перейдите в раздел плагины - ›диспетчер плагинов -› показать диспетчер плагинов, и вы можете добавить его отсюда - person Ralph Willgoss; 04.04.2012
comment
Возможность добавлять или не добавлять определенные функции поначалу может показаться странной, НО именно поэтому так много людей ИСПОЛЬЗУЮТ Notepad ++ вместо более громоздких продуктов, таких как DreamWeaver! ВЫ решаете, насколько тонкая или толстая ваша программа, а не загружайте кухонную раковину весь день каждый день ... (и это должен был быть комментарий, а не отправленный ответ) - person BillyNair; 06.03.2015

В последней версии Notepad ++ x64 v7.6.2 в Windows 10 диспетчер подключаемых модулей уже перемещен в «Администратор подключаемых модулей».

Старые версии Notepad ++ и диспетчера плагинов работать не будут.

person Denis Wang    schedule 23.01.2019

"Но может ли Notepad ++ это сделать?"

Если XML недействителен, ответ, очевидно, «нет». Я пробовал Notepad ++ с плагинами Tidy2 и XMLTools. Оба выдают ошибки, похожие на «обнаруженные ошибки, пожалуйста, исправьте». Если вас не волнуют ошибки, это PITA.

Вместо этого откройте его в Visual Studio, затем отредактируйте -> расширенный -> форматировать документ. Быстро и красиво.

person phish_bulb    schedule 25.04.2013
comment
XMLTools будет жаловаться, если нет корневого элемента. Если в остальном ваш XML действителен, вы можете исправить это, просто добавив что-то вроде _1 _ / _ 2_ вверху / внизу. - person John Fouhy; 16.12.2013

Если ваш XML несовершенный, попробуйте это с помощью плагина TextFX Characters (устанавливается из диспетчера плагинов):

Сначала найдите «>», чтобы скопировать его в буфер обмена. Затем выберите ВСЕ свой текст, а затем ...

В главном меню: TextFX -> TextFX Edit -> Solit lines at clipboard char ...

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

Мне пришлось сделать это с помощью XML-кода, хранящегося в базе данных SQL Server, где заголовки не были хранится, только тело XML ...

person Banzai    schedule 20.03.2014
comment
TextFX был прекращен - из Будущее TextFX : ... попрощайтесь со стареющей рабочей лошадкой, которая хорошо послужила обществу. - person Peter Mortensen; 06.04.2019

Поскольку я вижу много комментариев о людях, у которых возникают проблемы с плагином, я подумал, что упомянул бы о работе, которую я использую.

Я просто использую один из онлайн-сайтов для просмотра XML (я использую https://codebeautify.org/xmlviewer, но их много) следующим образом:

  1. Вставьте содержимое XML в окно ввода
  2. Нажмите кнопку "Украсить / Форматировать"
  3. Копировать форматированный вывод XML из окна результатов
  4. Вставить в Блокнот ++

Я не знаю, подходит ли это для точного ответа на вопрос OP, но это очень просто и легко для всех, у кого есть проблемы с плагином.

person rsmith    schedule 06.06.2018
comment
Делайте это только в том случае, если ваш xml не содержит конфиденциальных / личных данных - person Patman; 28.06.2018
comment
codebeautify хранит XML, который мы вставляем туда, поэтому лучше избегать таких инструментов. - person mohsin.mr; 22.06.2021

Вы не можете, если у вас нет доступа для установки плагинов. Но у вас, вероятно, есть или вы можете получить Eclipse (Visual Studio тоже может это сделать).

Ctrl + N (новый файл) → (выберите файл XML) → (вставьте содержимое XML) → Ctrl + Shift + K (формат)

Если вы хотите отформатировать JSON, NotePad ++ может сделать это по умолчанию с помощью Ctrl + Alt + m

person Philip Rego    schedule 20.11.2018

Расположение инструментов XML немного изменилось с тех пор, как этот вопрос был задан впервые.

В настоящее время я использую Notepad ++ v7.8.6

Новое место:

  • Вкладка "Плагины"
  • Админ плагинов ...
  • По умолчанию появляется диалоговое окно «Администрирование подключаемых модулей» с вкладкой «Доступные подключаемые модули».
  • Прокрутите вниз и установите флажок Инструменты XML.
  • Нажмите кнопку «Установить» в правом верхнем углу диалогового окна.

Это закроет Notepad ++ во время установки, а затем автоматически перезапустит его.

Затем есть пара сочетаний клавиш, чтобы украсить XML:

  • Красивый принт: Ctrl + Shift + Alt + B
  • Pretty Print (атрибуты отступа): Ctrl + Shift + Alt + A

Чтобы увидеть дополнительные параметры инструментов XML:

  • Вкладка "Плагины"
  • Вариант инструментов XML
person SandstormNick    schedule 24.06.2020

UniversalIndentGUI выполнил всю работу за меня, после правильной настройки, как описано выше.

TextFX не установился и не запустился правильно на старом компьютере под управлением Windows XP. Выше приведены инструкции по установке различных DLL-файлов вручную, но я бы предпочел избегать ручной установки.

UniversalIndentGUI отформатировал некоторые строки следующим образом:

        <ClockStatus>1
        </ClockStatus>

И я бы предпочел:

        <ClockStatus>1</ClockStatus>

Но результат все равно намного лучше, чем одна длинная строка!

person Ivan    schedule 06.05.2015