Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 13625|Răspunde: 0

[Sursă] Python implementează analizarea fișierelor XML

[Copiază linkul]
Postat pe 05.06.2018 14:27:09 | | |
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





Precedent:Soluție: Instalatorul folosit pentru instalarea Visual Studio este incomplet
Următor:Scurtături pentru formatarea rapidă a codului VS Code
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com