Python + XML parte 2

Sommario
Nella prima parte di questo tutorial abbiamo stabilito tutti i parametri che ci servono per poter realizzare il progetto che abbiamo indicato nel tutorial di costruzione di un sito web a partire da un file XML.
In questa seconda parte andremo a realizzare tutto quanto pianificato utilizzando PitoneA causa della complessità dei diversi aspetti del progetto, è possibile che nella nostra prima implementazione non avremo tutto perfetto, tuttavia, questo è positivo poiché ci dà l'opportunità di creare un prototipo funzionante e migliorarne i componenti.
Gestisci contenuto
La nostra prima azione sarà quella di gestire il contenuto del nostro File XML, per questo useremo SAX che avevamo già installato o verificato che lo avevamo nella parte precedente del tutorial.
Per ottenere ciò, creiamo prima un contenitore, a cui passeremo il nostro file XML che abbiamo creato.
Vediamo il codice che dobbiamo inserire:
 from xml.sax.handler import ContentHandler from xml.sax import parse class TestHandler (ContentHandler): pass parse ('website.xml', TestHandler ()) 

Durante l'esecuzione non dovremmo avere errori, ciò significa che il nostro XML è già caricato e che il analizzatore ha fatto il suo lavoro, nel caso in cui vediamo errori o eccezioni dobbiamo documentarci per vedere qual è la causa, possiamo fare affidamento su Internet e sulla vasta documentazione che ha Pitone.
Ora aggiungeremo un metodo che ci mostra che ciò che abbiamo dedotto è vero, nella nostra classe TestHandler incorporeremo il seguente codice:
 def startElement (self, name, attrs): print name, attrs.keys () 

Quando eseguiamo di nuovo il nostro programma, vedremo qualcosa di simile a quello che ci mostra l'immagine seguente:

Ora il prossimo passo è ottenere le informazioni che ogni elemento contiene, per questo incorporeremo i metodi della classe ContentHandler di SAX e otterremo gli elementi H1 che esistono nel nostro file XML.
La nostra classe dovrebbe essere la seguente:
 from xml.sax.handler import ContentHandler from xml.sax import parse class HeadlineHandler (ContentHandler): in_headline = False def __init __ (self, titoli): ContentHandler .__ init __ (self) self.headlines = titoli 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 (testo) self.in_headline = False def caratteri (self, stringa): if self.in_headline: self.data.append (stringa) titoli = [] parse ('website. xml', HeadlineHandler (titoli)) print 'The following

Ciao. Mi chiamo Mr. Gumby e questa è la mia home page. Ecco alcuni dei miei interessi:

  • Urlando
  • Dormire
  • mangiare

Se lo eseguiamo in un browser vedremo che è interpretato correttamente e avremo un risultato simile al seguente:

Raggiungendo questo abbiamo terminato la nostra prima iterazione e questo tutorial, spetta a ciascuno estendere il progetto, al fine di lucidare tutte le conoscenze acquisite e migliorare molto di più quel primo programma.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo
wave wave wave wave wave