Paris Mix07
Mot de passe :
21/05/2007
Générer un flux RSS avec ASP.Net

Droit de diffusion:
L'ensemble ou partie de ce document ainsi que le code mis à disposition, ne peut être diffusé sur d'autres sites Web sans l'autorisation au préalable de son créateur.

Avant Propos :
Initié par Netscape, le rss est un moyen simple d’ouvrir le contenu de votre site autrement que par l’utilisation de XML WebServices. Ce tutoriel a trois objectifs :

  • Vous fournir gratuitement les sources du générateur de flux rss
  • Vous montrer comment il fonctionne
  • Découvrir surtout la simplicité par laquelle on génère un flux XML avec .net

N’hésitez pas à télécharger les sources. Ce tutoriel a été réalisé en Aout 2004 sur le Framework 1.1 et est toujours d'actualité avec le Framework 2.0. Plus trop avec le Framework 3.5 !!!

 

Sommaire:

1. Le constructeur de flux RSS
2. La génération du flux rss
3. En Savoir plus

1. Le constructeur de flux RSS

Le projet rss dispose de 3 structures qui permettent de construire proprement les données qu’attendent le flux rss.

enum_langue est une énumération de codes langues afin d’éviter l’insertion de données un peut trop exotiques.

struct_entete alimente les données de base du flux rss comme l’url du site, l’éditeur et éventuellement l’image d’accompagnement structurée dans struct_image.

struct_detail s’articule autour des publications à exposer.




La méthode builder va nous permettre de construire le flux rss qui sera exposé dans le Page.Response.Output de la page ASPX.



Ma méthode ConstruitRss fabrique le corps du flux XML.

WriteStartDocument() me permet de démarrer mon document XML.

WriteStartElement({MonElement}) construit un nœud sur lequel je peux ajouter un attribut avec WriteAttributString({MonAttribut},{SaValeur}).



La méthode AjoutePublication permet l’insertion d’un item rss. Les données sont passées dans la variable p_datas. On utilise toujours WriteStartElement() et WriteElementString() pour ajouter un nœud fils.

N’oublions pas le WriteEndElement() pour fermer le nœud.



Enfin, la méthode FinDuDocument() clôt les différents nœuds et le document XML.

2. La génération du flux rss

Le moment est venu de générer le flux rss.

Afin que votre flux soit accessible depuis l’url http://MonSite/rss, créer une page index.aspx qui devra être définit comme page par défaut du répertoire dans les paramètres IIS.

Pour la démonstration, nous avons créé une page rss.aspx. Commencez par supprimer toutes les données HTML de la page générée par VisualStudio.net.



Comme souvent, c’est dans le Page_Load que tout ce passe. Notez le codage du rss en ISO-8859-1 afin de tenir compte des caractères étendus utilisés dans la langue française.

On spécifie un retour de la requête sous forme text/xml.

J’alimente ensuite mes données dans ma structure d’entête. Je préfère utiliser une structure plutôt que de passer n arguments à ma méthode. Si par malheur vous aviez oublié de passer un argument, vous seriez obligé de modifier tous les appels. La structure s’avère plus souple dans le cadre de la maintenance de votre code source.

On créé alors une nouvelle instance de l’objet builder qui sera exposée en réponse http et on appelle la méthode ConstruitRss avec les données de l’entête.



Viens maintenant l’ajout des items ou publications. J’alimente toujours une structure, celle du détail et d’invoque la méthode AjoutePublication().

Ne surtout pas oublier la méthode FinDuDocument() qui va clôturer le flux rss.

Et c’est tout ! Votre flux rss est maintenant publié en un temps record.

3. En Savoir plus

RSS sur XML.FR
http://xmlfr.org/actualites/tech/000816-0001

RSS Reader, freeware développé sur le framework .net
http://www.rssreader.com
Mots clés associés : RSS ASP.Net c# Microsoft  | Lien permanent | Laissez le premier votre commentaire
Publiée dans la zone Tutoriels .Net
Le profil Facebook de Laurent GEFFROY
Rechercher sur ce site

PicasaNet pour ASP.Net
 
Accès aux Archives
  • Février 2012
  • Janvier 2012
  • Décembre 2011
  • Novembre 2011
  • Octobre 2011
  • Septembre 2011
  • Aout 2011
  • Juillet 2011
  • Juin 2011
  • Mai 2011
  • Avril 2011
  • Mars 2011
  • Février 2011
  • Janvier 2011
  • Décembre 2010
  • Novembre 2010
  • Octobre 2010
  • Septembre 2010
  • Aout 2010
  • Juillet 2010
  • Juin 2010
  • Mai 2010
  • Avril 2010
  • Mars 2010
  • Février 2010
  • Janvier 2010
  • Décembre 2009
  • Novembre 2009
  • Octobre 2009
  • Septembre 2009
  • Aout 2009
  • Juillet 2009
  • Juin 2009
  • Mai 2009
  • Avril 2009 (1)
  • Mars 2009
  • Février 2009
  • Janvier 2009
  • Décembre 2008
  • Novembre 2008
  • Octobre 2008
  • Septembre 2008 (1)
  • Aout 2008
  • Juillet 2008
  • Juin 2008
  • Mai 2008
  • Avril 2008
  • Mars 2008
  • Février 2008
  • Janvier 2008 (1)
  • Décembre 2007
  • Novembre 2007
  • Octobre 2007
  • Septembre 2007
  • Aout 2007
  • Juillet 2007
  • Juin 2007
  • Mai 2007 (3)
  • Avril 2007 (2)

 
fermer la fenetre