1. XML Úvod
XML (eXtensible Markup Language) označuje rozšíriteľný značkovací jazyk, navrhnutý na prenos a ukladanie dát, a stal sa jadrom mnohých nových technológií dnes, s rôznymi aplikáciami v rôznych oblastiach. Je nevyhnutným produktom vývoja webu do určitej fázy, ktorá má základné charakteristiky SGML, jednoduché vlastnosti HTML a mnoho nových funkcií, ako je jasnosť a dobre štruktúrovaná.
Test. XML súbor
<?xml version="1.0" encoding="utf-8"?> <catalog> <maxid>4</maxid> <login username="pytest" passwd='123456'> <caption>Python</caption> <item id="4"> <caption>Test</caption> </item> </login> <item id="2"> <caption>Zope</caption> </item> </catalog> Pre podrobný úvod do XML si pozrite:http://www.w3school.com.cn/xmldom/dom_nodetype.asp
2. XML parsovanie dokumentov
Existujú tri bežné spôsoby, ako python analyzuje XML: jeden je modul xml.dom.*, ktorý je implementáciou W3C DOM API a je veľmi vhodný, ak potrebujete spracovať DOM API; Druhým je modul xml.sax.*, ktorý je implementáciou SAX API, čo obetuje pohodlie pre rýchlosť a pamäťovú náročnosť, a SAX je event-based API, čo znamená, že dokáže spracovať obrovské množstvo dokumentov "vo vzduchu" bez nutnosti ich úplne načítať do pamäte; Tretím je modul xml.etree.ElementTree (skrátene ET), ktorý poskytuje ľahké API v štýle Pythonu, ktoré je oveľa rýchlejšie ako DOM, a existuje mnoho príjemných API, ktoré je možné použiť v porovnaní so SAX, ET-ov ET.iterparse tiež poskytuje metódu spracovania "vo vzduchu", nie je potrebné načítavať celý dokument do pamäte a priemerný výkon ET je podobný ako v SAX. API je však o niečo efektívnejšie a jednoduchšie na používanie.
2.1 xml.dom.*
Document Object Model (DOM) je štandardné programovacie rozhranie odporúčané organizáciou W3C na spracovanie rozšíriteľných značkovacích jazykov. Keď DOM parser analyzuje XML dokument, prečíta celý dokument naraz, uloží všetky prvky dokumentu do stromovej štruktúry v pamäti a potom môžete použiť rôzne funkcie poskytované DOM na čítanie alebo úpravu obsahu a štruktúry dokumentu, alebo zápis upraveného obsahu do xml súboru. Použite xml.dom.minidom v Pythone na spracovanie xml súboru.
a. Získajte podtagy b. Štítky, ktoré rozlišujú rovnaký názov značky c. Získajte hodnotu atribútu značky d. Získajte dáta medzi pármi štítkov
Výstup:
2.2 xml.etree.ElementTree
ElementTree vznikol na spracovanie XML a v štandardnej knižnici Pythonu sú dve implementácie: jedna je čisto python implementácia, napríklad xml.etree.ElementTree, a druhá je rýchlejší xml.etree.cElementTree. Poznámka: Skúste použiť jazyk C na jeho implementáciu, pretože je rýchlejší a spotrebuje menej pamäte.
a. Prejdite ďalšou vrstvou koreňového uzla b. Prístup dolných indexov k jednotlivým tagom, atribútom a textu c. Nájdite špecifikovaný tag pod koreňom d. Prechádzanie XML súborov e. Upraviť XML súbor
Výstup:
Priložené:
2.3 xml.sax.*
SAX je event-driven API, ktoré používa SAX na parsovanie XML v dvoch častiach: parser a event handler.
Parser je zodpovedný za čítanie XML dokumentu a odosielanie udalostí do sprostredkovateľa udalostí, ako sú počiatočné a koncové udalosti prvku
Procesor udalostí je zodpovedný za reakciu na udalosti a spracovanie XML údajov, ktoré sa odovzdali
Bežné scenáre:
(1) Spracovanie veľkých dokumentov
(2) Vyžaduje sa len časť dokumentu, alebo sa špecifické informácie získavajú iba zo spisu
(3) Chcem si vytvoriť vlastný objektový model
|