Красивая печать XML в Python
XML означает расширяемый язык разметки и используется для кодирования документа, который может быть понятен как людям, так и машинам. Данные, хранящиеся в формате XML, легко понять и легко изменить. При использовании XML необходимо помнить о трех основных вещах: простоте, универсальности и удобстве использования.
Красивая печать XML с использованием xml.dom.minidom
При таком подходе мы будем создавать XML-контент непосредственно в нашем редакторе, т.е. мы не будем использовать какие-либо внешние XML-файлы.
XML, который мы будем использовать, указан ниже:
OriginalXml = "<?xml version= "2.0" ?> <gfg> <instructor> <Name>Sandeep Jain Sir</Name> </instructor> </gfg>"
DOM (объектная модель документа ) — это межъязыковой API от консорциума W3C, т.е. World Wide Web, для доступа и изменения XML-документов. Python позволяет анализировать XML-файлы с помощью xml.dom.minidom , который является минимальной реализацией интерфейса DOM. Он проще, чем полный API DOM, и его следует считать меньшим.
Python3
import xml.dom.minidom OriginalXml = "<?xml version = "1.0" ?><gfg> <instructor><Name>Sandeep Jain Sir< / Name>< / instructor>< / gfg>" temp = xml.dom.minidom.parseString(OriginalXml) new_xml = temp.toprettyxml() print (new_xml) |
Выход:
<?xml version="1.0" ?> <gfg> <instructor> <Name>Sandeep Jain Sir</Name> </instructor> </gfg>
В этом подходе мы создадим XML-контент в файле и получим доступ к его содержимому через функцию python open() , а остальные шаги останутся прежними. Для этого нам нужно создать файл XML, скажем, gfg.xml в вашем редакторе кода.
gfg.xml содержит:
<?xml version= “1.0” ?>
<gfg>
<instructor>
<Name>Sandeep Jain Sir</Name>
</instructor>
</gfg>
Python3
import xml.dom.minidom with open ( "gfg.xml" ) as OriginalXML: temp = xml.dom.minidom.parseString(OriginalXML.read()) New_XML = temp.toprettyxml() print (New_XML) |
Выход:
<?xml version="1.0" ?> <gfg> <instructor> <Name>Sandeep Jain Sir</Name> </instructor> </gfg>
Красивая печать XML с использованием BeautifulSoup
В этом подходе мы будем использовать Beautiful Soup для печати содержимого XML.
Python3
from bs4 import BeautifulSoup temp = BeautifulSoup( open ( "gfg.xml" ), "xml" ) new_xml = temp.prettify() print (new_xml) |
Выход:
<?xml version="1.0" encoding="utf-8"?> <gfg> <instructor> <Name> Sandeep Jain Sir </Name> </instructor> </gfg>
Красивая печать XML с использованием lxml
В этом методе мы будем использовать модуль python lxml.
Эта библиотека преобразует исходный XML-файл в более красивый XML-файл.
Выход:
<gfg> <instructor> <Name>Sandeep Jain Sir</Name> </instructor> </gfg>