|
|
Публикувано в 5.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> <login 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.*, който е имплементация на 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.*
Document Object Model (DOM) е стандартен програмен интерфейс, препоръчан от организацията W3C за обработка на разширяеми езици за маркиране. Когато DOM парсер парсира XML документ, той чете целия документ наведнъж, съхранява всички елементи в дървовидна структура в паметта и след това можете да използвате различни функции, предоставени от DOM, за да четете или променяте съдържанието и структурата на документа, или да запишете промененото съдържание в xml файла. Използвайте xml.dom.minidom в Python, за да анализирате xml файла.
а. Вземете подтагове б. Етикети, които отличават едно и също име на етикет в. Получаване на стойността на атрибута на тага г. Получаване на данни между двойки етикети
Изход:
2.2 xml.etree.ElementTree
ElementTree е създаден, за да обработва XML, а в стандартната библиотека на Python има две имплементации: едната е чиста Python имплементация, като xml.etree.ElementTree, а другата е по-бърза xml.etree.cElementTree. Забележка: Опитайте да използвате езика C, за да го реализирате, тъй като е по-бърз и използва по-малко памет.
a. Преминете следващия слой на кореновия възел b. Индекс достъп до отделни тагове, атрибути и текст в. Намерете посочения таг под root г. Преминаване през XML файлове д. Модифициране на XML файла
Изход:
Прикачено:
2.3 xml.sax.*
SAX е API, управляван от събития, който използва SAX за парсиране на XML в две части: парсер и обработващ се събития.
Парсерът отговаря за четенето на XML документа и изпращането на събития към обработващия се събития, като например начало на елемент и край на елемента
Процесорът на събития отговаря за реакцията на събитията и обработката на XML данните, които са предадени
Чести сценарии:
(1) Обработване на големи документи
(2) Изисква се само част от документа, или конкретна информация се получава само от досието
(3) Искам да изградя собствен модел на обекта
|
Предишен:Решение: Инсталаторът, използван за инсталиране на Visual Studio, е незавършенСледващ:VS Code код бързи форматиращи преки пътища
|