Table des matières
Dans la première partie de cette partie tutoriel, nous avons établi tous les paramètres dont nous avons besoin pour pouvoir réaliser le projet que nous avons indiqué dans le tutoriel de construction d'un site Web à partir d'un fichier XML.Dans cette deuxième partie, nous allons réaliser tout ce qui est prévu en utilisant PythonEn raison de la complexité des différents aspects du projet, il est possible que dans notre première implémentation, nous n'ayons pas tout parfait, cependant, c'est bien car cela nous donne la possibilité de créer un prototype fonctionnel et d'améliorer ses composants.
Gérer le contenu
Notre première action sera de gérer le contenu de nos fichier XML, pour cela nous utiliserons SAXO que nous avions déjà installé ou vérifié que nous l'avions dans la partie précédente du tutoriel.
Pour y parvenir, nous créons d'abord un conteneur, auquel nous allons passer notre fichier XML que nous avons créé.
Voyons le code que nous devons placer :
de xml.sax.handler importer ContentHandler de xml.sax importer la classe d'analyse TestHandler (ContentHandler): passer l'analyse ('website.xml', TestHandler ())
Lors de l'exécution, nous ne devrions pas avoir d'erreurs, cela signifie que notre XML est déjà chargé et que le analyseur a fait son travail, au cas où nous voyions une erreur ou une exception, nous devons nous documenter pour voir quelle en est la cause, nous pouvons nous fier à Internet et à la documentation complète dont il dispose Python.
Maintenant, nous allons ajouter une méthode qui nous montre que ce que nous avons déduit est vrai, dans notre classe Gestionnaire de test nous allons incorporer le code suivant :
def startElement (self, name, attrs): print name, attrs.keys ()
Lorsque nous exécuterons à nouveau notre programme, nous verrons quelque chose comme ce que l'image suivante nous montre :
Maintenant, la prochaine étape consiste à obtenir les informations que chaque élément contient, pour cela nous allons incorporer les méthodes de la classe Gestionnaire de contenu de SAX et nous allons obtenir les éléments H1 qui existent dans notre fichier XML.
Notre classe devrait être la suivante :
à partir de xml.sax.handler importer ContentHandler à partir de xml.sax importer la classe d'analyse 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 (texte) self.in_headline = False def caractères (self, chaîne): if self.in_headline: self.data.append (string) headlines = [] parse ('website. xml', HeadlineHandler (titres)) print 'Ce qui suitSalut. Je m'appelle M. Gumby, et voici ma page d'accueil. Voici quelques-uns de mes centres d'intérêt :
- En criant
- Dormir
- Manger
Si nous l'exécutons dans un navigateur, nous verrons qu'il est interprété correctement et nous obtiendrons un résultat similaire au suivant :
Pour y parvenir nous avons terminé notre première itération et ce tutoriel, c'est à chacun d'étendre le projet, afin de peaufiner toutes les connaissances acquises et d'améliorer beaucoup plus ce premier programme.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif