Utilisation des regexp pour lire un flux rss

Contenu du snippet

Le but de ce programme est de montrer comment les REGEXP permettent d'être utilisée pour lire un flux RSS.
Et de stocker les éléments au fur et à mesure dans une variable nommée.

Ce qui permet des évolutions plus rapides et plus propres qu'en utilisant des indexs

Ce code est en C#

Source / Exemple :


using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
          
 // Regex match
    RegexOptions   options = RegexOptions.Singleline;
    Regex          regex = new Regex(@"<item><title>(?<title>.*?)</title><description>(?<description>.*?)</description><category>(?<category>.*?)</category><link>(?<link>.*?)</link><pubDate>(?<pubDate>.*?)</pubDate><dc:creator>(?<creator>.*?)</dc:creator></item>", options);
    string         input = @"<item><title>CODE POSTAUX CANADIEN</title><description>Valide un code postal canadien... Je sais pas quoi dire de plus mais ma description doit faire 100 chrs.</description><category>Divers</category><link>http://regex.codes-sources.com/codes/CODE-POSTAUX-CANADIEN_47986.aspx</link><pubDate>Wed, 17 Sep 2008 20:38:05 GMT</pubDate><dc:creator>zen69</dc:creator></item><item><title>DATE ANSI SQL</title><description>Valide le format de date ANSI SQL ""YYYY-mm-dd hh:mi:ss am/pm"""" + ""\r\n"" + @"""" + ""\r\n"" + @""Permet l'utilisation de ""/"", ""-"", "" "" pour délimités les dates de sorte que 2008-09-1</description><category>Date & Heure</category><link>http://regex.codes-sources.com/codes/DATE-ANSI-SQL_47985.aspx</link><pubDate>Wed, 17 Sep 2008 20:12:25 GMT</pubDate><dc:creator>zen69</dc:creator></item><item>";

   

    // Get matches
    MatchCollection   matches = regex.Matches(input);
 
    for (int i = 0; i != matches.Count; ++i)
    {
        Console.WriteLine("title " +  matches[i].Groups["title"].Value);
        Console.WriteLine("description " +  matches[i].Groups["description"].Value);
        Console.WriteLine("link "+ matches[i].Groups["link"].Value);

        Console.WriteLine("pubDate "+ matches[i].Groups["pubDate"].Value);
        Console.WriteLine("creator "+ matches[i].Groups["creator"].Value);
        
    }

    Console.ReadLine();
        }
    }
}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.