XML Pretty Print в Linux Bash и Python

Xml Pretty Print V Linux Bash I Python



XML разработан как удобочитаемый язык разметки, но только в том случае, если он правильно отформатирован. Если вы откроете XML-файл, вы можете не понять его содержимого, особенно если это большой XML-файл. Однако вы можете распечатать XML на Bash или Python, чтобы сделать его удобным для чтения человеком. В этом руководстве представлены различные способы печати XML в Linux Bash и Python.

Как красиво печатать XML в Linux Bash и Python

При работе с Python вы можете столкнуться с необходимостью распечатать XML. Это может быть внешний файл XML или код XML, включенный в сценарий Python. Для Linux Bash вы можете открыть XML-файл на своем терминале, чтобы просмотреть его содержимое. В любом случае, мы увидим различные способы красивой печати XML.







1. Pretty Print XML в Python



Прежде чем мы углубимся в параметры, ниже приведен XML-файл, с которым мы будем работать для нашего примера:







В Python вы можете работать с XML двумя основными способами. Предположим, у вас есть данный XML-файл в качестве внешнего файла, и вы хотите его красиво распечатать. Вы можете импортировать библиотеку «xml.dom.minidom». После импорта вы можете использовать Python open() для чтения содержимого вашего внешнего файла. После этого вы можете использовать toprettyxml() для красивой печати внешнего XML-файла.

В следующем примере мы используем наш внешний файл «details.xml» и создаем в коде разные переменные:



Затем мы можем запустить наш скрипт Python на терминале, чтобы получить красиво отформатированный вывод, как показано на следующем рисунке. Обратите внимание, как использование библиотеки DOM Python помогает аккуратно форматировать XML, делая его легко читаемым любым, кто запускает скрипт Python:

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

Посмотрите, как мы включаем XML в следующее изображение:

Затем вы можете запустить свой скрипт Python, как мы делали ранее. Вы получите красивую печатную версию вашего XML-файла в своем выводе, как то, что мы получили в нашем следующем выводе:

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

2. Красивая печать XML в Bash

На вашем терминале можно просматривать содержимое файлов, включая XML. Например, вы можете использовать команду «cat», чтобы отобразить содержимое нашего файла «details.xml». Однако вывод не читается из-за плохого форматирования.

Чтобы красиво распечатать этот файл XML, вы можете использовать различные инструменты. Здесь мы рассмотрим два наиболее распространенных из них. Во-первых, вы можете использовать «xmlstarlet», который устанавливается в большинстве систем Linux. Если он недоступен в вашей системе, выполните следующую команду, чтобы установить его:

судо щелчок установить xmlstarlet

С помощью «xmlstarlet» в вашей системе Linux вы можете распечатать XML-файл, как показано в следующем примере. Ваш вывод будет аккуратно отформатирован, что облегчит чтение:

В качестве альтернативы вы можете использовать «xmlint», чтобы добиться того же. Начните с установки его в вашей системе с помощью следующей команды:

судо подходящий установить libxml2-утилиты

После установки вы можете быстро распечатать XML-файл, используя следующий синтаксис:

xmlint --формат детали.xml

Ваш XML будет отформатирован и легко читаем, как показано в следующем примере:

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

Заключение

XML-файлы можно красиво распечатать в Linux Bash или Python. С Python вы можете красиво распечатать XML, включив его в свой код или прочитав его как внешний файл. Для Linux Bash вы можете использовать различные инструменты командной строки. В этом посте подробно описаны лучшие варианты для использования в любом случае. Попробуйте их!