|
|
Опубликовано 05.06.2018 14:27:09
|
|
|

1. XML Введение
XML (eXtensible Markup Language) — это расширяемый язык разметки, предназначенный для передачи и хранения данных, который сегодня стал ядром многих новых технологий, с разными применениями в разных областях. Это неизбежный результат развития веба до определённого этапа, который обладает основными характеристиками SGML, простыми характеристиками HTML и множеством новых возможностей, таких как чёткость и хорошо структурированность.
тест. XML-файл
<?xml version="1.0" encoding="utf-8"?> <catalog> <maxid>4</maxid> <логин username="pytest" passwd='123456'> <caption>Python</caption> <item id="4"> <caption>Тест</caption> </item> </login> <item id="2"> <caption>Зопе</caption> </item> </catalog> Для подробного введения в XML, пожалуйста, обратитесь сюда:http://www.w3school.com.cn/xmldom/dom_nodetype.asp
2. XML разбор документов
Существует три распространённых метода разбора XML в Python: один — модуль xml.dom.*, реализующий DOM API W3C, который очень подходит для обработки DOM API; Второй — модуль xml.sax.*, реализующий SAX API, жертвующий удобством ради скорости и объёма памяти, а SAX — это API, основанный на событиях, то есть он может обрабатывать огромное количество документов «в воздухе» без полной загрузки в память; Третий — модуль xml.etree.ElementTree (сокращённо ET), который предоставляет лёгкий API в стиле Python, гораздо быстрее DOM, и существует множество приятных API, которые можно использовать. По сравнению с SAX, ET.iterparse от ET также предоставляет «в воздухе» метод обработки, нет необходимости загружать весь документ в память, а средняя производительность ET схожа с SAX. Однако API немного эффективнее и удобнее в использовании.
2.1 xml.dom.*
Document Object Model (DOM) — это стандартный программный интерфейс, рекомендованный организацией W3C для работы с расширяемыми языками разметки. Когда парсер DOM парсирует XML-документ, он читает весь документ сразу, сохраняет все элементы документа в структуре дерева в памяти, а затем вы можете использовать различные функции, предоставленные DOM, для чтения или изменения содержимого и структуры документа, а также для записи изменённого содержимого в xml-файл. Используйте xml.dom.minidom в Python для разбора xml-файла.
a. Получите субтеги b. Ярлыки, отличающие одно и то же название бирки c. Получить значение атрибута тега d. Получение данных между парами меток
Выпуск:
2.2 xml.etree.ElementTree
ElementTree был создан для работы с XML, и в стандартной библиотеке Python есть две реализации: одна — чисто на Python, например xml.etree.ElementTree, а другая — более быстрый xml.etree.cElementTree. Примечание: попробуйте использовать язык C для реализации, так как он быстрее и занимает меньше памяти.
a. Пройти следующий слой корневого узла b. Индекс доступа к отдельным тегам, атрибутам и тексту c. Найти указанный тег под корнем d. Обход XML-файлов e. Изменить XML-файл
Выпуск:
Прилагается:
2.3 xml.sax.*
SAX — это event-управляемый API, который использует SAX для разбора XML в двух частях: парсера и обработчика событий.
Парсер отвечает за чтение XML-документа и отправку событий обработчику событий, таких как события запуска элемента и окончания элемента
Процессор событий отвечает за реагирование на события и обработку переданных XML-данных
Распространённые сценарии:
(1) Обработка крупных документов
(2) Требуется только часть документа, либо конкретная информация получается только из дела
(3) Я хочу построить свою собственную модель объекта
|
Предыдущий:Решение: установщик, использованный для установки Visual Studio, неполныйСледующий:VS Код — быстрые ярлыки для форматирования
|