Python + XML partea 2

Cuprins
În prima parte a acestei părți de tutorial am stabilit toți parametrii pe care trebuie să îi avem pentru a putea realiza proiectul pe care l-am indicat în tutorialul de construire a unui site web pornind de la un fișier XML.
În această a doua parte vom realiza tot ceea ce planificăm folosind PitonDatorită complexității diferitelor aspecte ale proiectului, este posibil ca în prima noastră implementare să nu avem totul perfect, totuși, acest lucru este bun, deoarece ne oferă posibilitatea de a crea un prototip funcțional și de a-i îmbunătăți componentele.
Gestionați conținutul
Prima noastră acțiune va fi gestionarea conținutului nostru Fișier XML, pentru aceasta vom folosi SAX că am instalat deja sau am verificat că l-am avut în partea anterioară a tutorialului.
Pentru a realiza acest lucru, mai întâi creăm un container, căruia îi vom transmite fișierul XML pe care l-am creat.
Să vedem codul pe care trebuie să îl plasăm:
 din xml.sax.handler import ContentHandler din xml.sax import parse class TestHandler (ContentHandler): pass parse ('website.xml', TestHandler ()) 

Când executăm acest lucru nu ar trebui să avem erori, ceea ce înseamnă că XML-ul nostru este deja încărcat și că analizor și-a făcut munca, în cazul în care vedem vreo eroare sau excepție, trebuie să ne documentăm pentru a vedea care este cauza, ne putem baza pe internet și pe documentația extinsă pe care o are Piton.
Acum vom adăuga o metodă care ne arată că ceea ce am dedus este adevărat, în clasa noastră TestHandler vom încorpora următorul cod:
 def startElement (self, name, attrs): tipăriți numele, attrs.keys () 

Când vom rula programul din nou, vom vedea ceva de genul a ceea ce ne arată următoarea imagine:

Acum următorul pas este să obținem informațiile pe care le conține fiecare element, pentru aceasta vom încorpora metodele clasei ContentHandler din SAX și vom obține elementele H1 care există în fișierul nostru XML.
Clasa noastră ar trebui să fie după cum urmează:
 din xml.sax.handler import ContentHandler din xml.sax import parse class HeadlineHandler (ContentHandler): in_headline = Def fals __init __ (self, headlines): ContentHandler .__ init __ (self) self.headlines = headlines self.data = [ ] def startElement (self, name, attrs): if name == 'h1': self.in_headline = True def endElement (self, name): if name == 'h1': text = '' .join (self.data ) self. data = [] self.headlines.append (text) self.in_headline = Caractere def false (self, string): dacă self.in_headline: self.data.append (string) headlines = [] parse ('website. xml ', HeadlineHandler (titluri)) print' Următoarele

Bună. Numele meu este domnul Gumby și aceasta este pagina mea de pornire. Iată câteva dintre interesele mele:

  • Strigând
  • Dormit
  • Mâncând

Dacă îl rulăm într-un browser, vom vedea că este interpretat corect și vom avea un rezultat similar cu următorul:

Realizând acest lucru, am terminat prima noastră iterație și acest tutorial, depinde de fiecare să extindă proiectul, pentru a lustrui toate cunoștințele dobândite și a îmbunătăți primul program mult mai mult.V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave