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

Вид: 13625|Ответ: 0

[Источник] Python реализует разбор файлов XML

[Скопировать ссылку]
Опубликовано 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 Код — быстрые ярлыки для форматирования
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com