|
|
Опубліковано 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> <Ім'я користувача="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.*, який є реалізацією W3C DOM API, що дуже підходить для обробки 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.*
Модель об'єкта документа (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 — це подійний API, який використовує SAX для розбору XML у двох частинах: парсер і обробник подій.
Парсер відповідає за читання XML-документа та надсилання подій обробнику подій, таких як початок елементів і кінцеві події елемента
Процесор подій відповідає за реагування на події та обробку переданих XML даних
Поширені сценарії:
(1) Обробляти великі документи
(2) Потрібна лише частина документа, або конкретна інформація отримується лише з файлу
(3) Я хочу створити власну модель об'єкта
|
Попередній:Рішення: Інсталятор, використаний для встановлення Visual Studio, неповнийНаступний:VS Код швидке форматування ярликів
|