Расширяемый язык разметки(XML) — это язык разметки, который вы можете использовать для создания собственных тегов. Он был создан Консорциумом Всемирной паутины (W3C) для преодоления ограничений HTML, который является основой для всех веб-страниц. XML основан на стандартном обобщенном языке разметки SGML. Он используется для хранения и транспортировки данных. XML не зависит от платформы и языка программирования. Вы можете написать программу на любом языке на любой платформе для отправки, получения или хранения данных с использованием XML. Он определяет набор правил для кодирования документов в формате, который является как удобочитаемым, так и машиночитаемым.
Данные хранятся в XML — документах. Документы XSL(расширяемый язык таблиц стилей) описывают, как изменять XML-документы в другие типы документов (например, HTML, TXT или даже XML). Процесс преобразования называется XSLT, или иногда XSL-преобразованиями.
Пример:
<?xml version=“1.0” standalone=“yes” ?>
<message>
<from> Robert </from>
<to> Mario </to>
</message>
Примечание: Для получения дополнительной информации обратитесь к XML | Основы
Создание XML-документа с помощью Python
1) Создание XML-документа с помощью minidom
Сначала мы импортируем minidom
для использования xml.dom
. Затем мы создаем root
элемент и добавляем его в XML. После этого создаем дочерний продукт родителя, а именно вундеркиндов для вундеркиндов. После создания дочернего продукта имя файла сохраняется как » любое имя в соответствии с вашим choice.xml’. Не забудьте добавить .xml в конце имени файла, которое вы указали файлу. Minidom-это минимальная реализация интерфейса объектной модели документа с API, аналогичным API на других языках. Он предназначен для того, чтобы быть проще, чем полный DOM, а также значительно меньше.
Пример:
from xml.dom import minidom
import os
root = minidom.Document()
xml = root.createElement('root')
root.appendChild(xml)
productChild = root.createElement('product')
productChild.setAttribute('name', 'Geeks for Geeks')
xml.appendChild(productChild)
xml_str = root.toprettyxml(indent ="\t")
save_path_file = "gfg.xml"
with open(save_path_file, "w") as f:
f.write(xml_str)
Выход:
2) Создание XML-документа с использованием ElementTree
Сначала мы должны импортировать 'xml.etree.ElementTree'
для создания поддерева. После этого мы создаем корневой элемент, и этот корневой элемент должен находиться в предназначенном блоке, иначе возникнет ошибка. После создания корневого элемента мы можем легко создать древовидную структуру. Затем файл будет сохранен как » имя, которое вы хотите присвоить этому file.xml’. ElementTree-это важная библиотека Python, которая позволяет анализировать XML-документ и перемещаться по нему. Используя ElementTree, мы можем разбить документ на древовидную структуру, с которой легко работать.
Пример:
import xml.etree.ElementTree as gfg
def GenerateXML(fileName) :
root = gfg.Element("Catalog")
m1 = gfg.Element("mobile")
root.append (m1)
b1 = gfg.SubElement(m1, "brand")
b1.text = "Redmi"
b2 = gfg.SubElement(m1, "price")
b2.text = "6999"
m2 = gfg.Element("mobile")
root.append (m2)
c1 = gfg.SubElement(m2, "brand")
c1.text = "Samsung"
c2 = gfg.SubElement(m2, "price")
c2.text = "9999"
m3 = gfg.Element("mobile")
root.append (m3)
d1 = gfg.SubElement(m3, "brand")
d1.text = "RealMe"
d2 = gfg.SubElement(m3, "price")
d2.text = "11999"
tree = gfg.ElementTree(root)
with open (fileName, "wb") as files :
tree.write(files)
# Driver Code
if __name__ == "__main__":
GenerateXML("Catalog.xml")
Выход:
Существует три вспомогательные функции, которые полезны для создания иерархии узлов элементов. Element()
функция создает стандартный узел, SubElement()
функция присоединяет новый узел к родительскому узлу, а Comment()
функция создает узел, который сериализуется с использованием синтаксиса комментариев XML.
Значения атрибутов можно настраивать по одному withset()
(как для корневого узла) или все сразу, передавая словарь на фабрику узлов(как для каждой группы и узла подкаста).