Lecture de flux RSS – Episode 2

Dans l’épisode précédent, nous avons extrait un flux RSS brut à partir d’un site Web, pour l’afficher dans la fenêtre Exécution. Dans cette suite, nous ajoutons une pièce de plus au puzzle : on va tâcher d’extraire le titre du flux (et seulement lui pour l’instant).

Principe

Un flux RSS2 est un fichier XML dont le début ressemble à ceci (j’ai enlevé les attributs secondaires pour illustrer l’essentiel) :

Le titre du flux est donné par les balises <title></title>, elles-mêmes incluses dans les balises <channel></channel>. A l’aide d’une expression XPath, on peut dire que le chemin pour accéder au titre est //channel/title. Cette expression peut être utilisée avec la méthode selectSingleNode() pour extraire précisément le nœud qui nous intéresse. Apuka !

Le code

J’ai repris tout le code de l’article précédent, en l’aménageant un peu, et surtout en ajoutant la fonction TitreFlux(). Cette fonction reçoit un document XML en entrée, et va en extraire le nœud de titre (de type IXMLDOMNode), à l’aide de la méthode selectSingleNode(). Si on trouve un noeud //channel/title, on renvoie le texte du nœud, sinon on renvoie une chaîne vide.

Il reste à appeler cette fonction dans le bloc principal, de façon à afficher simplement le titre.

Tester !

Vous testez comme dans l’article précédent, en positionnant votre curseur dans la procédure LectureFluxRSS2, puis en cliquant sur l’icône Exécuter Sub/UserForm. Cette fois, vous ne devriez voir que le titre du flux s’afficher dans la fenêtre Exécution.

Vous voyez sans doute qu’il est assez facile de dupliquer le principe pour extraire les autres nœuds d’en-tête, comme le lien vers le site (balise <link>), la description du site (balise <description>), et d’autres encore. On ira un peu plus loin la prochaine fois… mais vous pouvez déjà prendre de l’avance !

Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *