1. XML Introducere
XML (eXtensible Markup Language) se referă la un limbaj extensibil de marcare, conceput pentru a transmite și stoca date, și a devenit nucleul multor tehnologii noi astăzi, cu aplicații diferite în domenii diferite. Este un produs inevitabil al dezvoltării web-ului până la un anumit nivel, care are caracteristicile de bază ale SGML, caracteristicile simple ale HTML și multe funcții noi, cum ar fi claritatea și structura bună.
test. Fișier XML
<?xml version="1.0" encoding="utf-8"?> <catalog> <maxid>4</maxid> <username="pytest" passwd='123456'> <caption>Python</caption> <element id="4"> <caption>Test</caption> </item> </login> <element id="2"> <caption>Zope</caption> </item> </catalog> Pentru o introducere detaliată în XML, vă rugăm să consultați:http://www.w3school.com.cn/xmldom/dom_nodetype.asp
2. XML Parsing de documente
Există trei metode comune pentru python de a analiza XML: una este modulul xml.dom.*, care este o implementare a API-ului dom W3C, foarte potrivită dacă trebuie să procesezi API-ul DOM; Al doilea este modulul xml.sax.*, care este o implementare a API-ului SAX, ce sacrifică comoditatea în favoarea vitezei și a amprentei memoriei, iar SAX este un API bazat pe evenimente, ceea ce înseamnă că poate procesa un număr uriaș de documente "în aer" fără a fi nevoie să le încarce complet în memorie; Al treilea este modulul xml.etree.ElementTree (pe scurt ET), care oferă un API ușor de tip Python, mult mai rapid decât DOM-ul, și există multe API-uri plăcute care pot fi folosite; comparativ cu SAX, ET.iterparse de la ET oferă și o metodă de procesare "în aer", nu este nevoie să se încarce întregul document în memorie, iar performanța medie a ET este similară cu SAX. Totuși, API-ul este puțin mai eficient și ușor de folosit.
2.1 xml.dom.*
Modelul de Obiect al Documentului (DOM) este o interfață standard de programare recomandată de organizația W3C pentru a gestiona limbaje extensibile de marcare. Când un parser DOM analizează un document XML, citește întregul document deodată, stochează toate elementele din document într-o structură arbore în memorie, iar apoi poți folosi diferite funcții oferite de DOM pentru a citi sau modifica conținutul și structura documentului sau pentru a scrie conținutul modificat în fișierul xml. Folosește xml.dom.minidom în Python pentru a analiza fișierul xml.
a. Obținerea subtag-urilor b. Etichete care disting același nume de etichetă c. Obține valoarea atributului etichetei d. Obținerea datelor între perechile de etichete
Ieşire:
2.2 xml.etree.ElementTree
ElementTree s-a născut pentru a gestiona XML, iar în biblioteca standard Python există două implementări: una este o implementare pur Python, cum ar fi xml.etree.ElementTree, iar cealaltă este un xml.etree.cElementTree mai rapid. Notă: Încearcă să folosești limbajul C pentru a o implementa, deoarece este mai rapid și consumă mai puțină memorie.
a. Parcurge următorul strat al nodului rădăcină b. Acces prin indice la etichete, atribute și text individuale c. Găsește eticheta specificată sub rădăcină d. Parcurgerea fișierelor XML e. Modificarea fișierului XML
Ieşire:
Atașat:
2.3 xml.sax.*
SAX este un API orientat pe evenimente care folosește SAX pentru a analiza XML în două părți: parserul și handler-ul de evenimente.
Parserul este responsabil pentru citirea documentului XML și trimiterea evenimentelor către handler-ul de evenimente, cum ar fi evenimentele de început și sfârșitul elementului
Procesorul de evenimente este responsabil pentru răspunsul la evenimente și procesarea datelor XML transmise
Scenarii comune:
(1) Procesarea documentelor mari
(2) Doar o parte din document este necesară sau informațiile specifice sunt obținute doar din fișier
(3) Vreau să-mi construiesc propriul model de obiecte
|