Satura rādītājs
Šīs apmācības daļas pirmajā daļā mēs esam noteikuši visus parametrus, kas mums nepieciešami, lai varētu īstenot projektu, ko mēs norādījām tīmekļa vietnes veidošanas apmācībā, sākot no XML faila.Šajā otrajā daļā mēs īstenosim visu plānoto PythonTā kā projekta dažādie aspekti ir sarežģīti, iespējams, ka mūsu pirmajā ieviešanā viss nebūs ideāli, tomēr tas ir labi, jo tas dod mums iespēju izveidot funkcionējošu prototipu un uzlabot tā sastāvdaļas.
Pārvaldīt saturu
Mūsu pirmā darbība būs mūsu satura pārvaldība XML fails, šim nolūkam mēs izmantosim SAX ka iepriekšējā apmācības daļā mēs to jau bijām instalējuši vai pārbaudījuši.
Lai to panāktu, mēs vispirms izveidojam konteineru, kuram mēs nodosim mūsu izveidoto XML failu.
Apskatīsim kodu, kas mums jāievieto:
no xml.sax.handler importējiet ContentHandler no xml.sax importēšanas parsēšanas klases TestHandler (ContentHandler): iziet parse ('website.xml', TestHandler ())
Izpildot to, mums nevajadzētu būt kļūdām, tas nozīmē, ka mūsu XML jau ir ielādēts un ka parsētājs darīja savu darbu, ja mēs redzam kādu kļūdu vai izņēmumu, mums ir jādokumentē, lai noskaidrotu iemeslu, mēs varam paļauties uz internetu un tā plašo dokumentāciju Python.
Tagad mēs pievienosim metodi, kas mums parāda, ka tas, ko esam secinājuši, ir patiess mūsu klasē TestHandler mēs iekļausim šādu kodu:
def startElement (self, name, attrs): drukas nosaukums, attrs.keys ()
Atkal palaižot mūsu programmu, mēs redzēsim kaut ko līdzīgu tam, ko parāda šāds attēls:
Tagad nākamais solis ir iegūt informāciju, ko satur katrs elements, tāpēc mēs iekļausim klases metodes ContentHandler no SAX, un mēs iegūsim H1 elementus, kas pastāv mūsu XML failā.
Mūsu klasei vajadzētu būt šādai:
no xml.sax.handler importēt ContentHandler no xml.sax importēt parsēšanas klasi HeadlineHandler (ContentHandler): in_headline = False def __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 = Viltus def rakstzīmes (self, string): if self.in_headline: self.data.append (string) headlines = [] parsēt ('vietne. xml ', HeadlineHandler (virsraksti)) print' ŠādiSveiki. Mani sauc Gumbija kungs, un šī ir mana mājas lapa. Šeit ir dažas manas intereses:
- Kliegšana
- Guļot
- Ēšana
Palaižot to pārlūkprogrammā, mēs redzēsim, ka tas ir pareizi interpretēts, un rezultāts būs līdzīgs šim:
To sasniedzot, mēs pabeidzām savu pirmo atkārtojumu un šo pamācību. Katra ziņā ir pagarināt projektu, lai pilnveidotu visas iegūtās zināšanas un vēl vairāk uzlabotu šo pirmo programmu.Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu