/// <summary> /// Retourne un analyseur de flux de syndication en fonction /// du type de format contenant dans le fichier XML. /// </summary> /// <param name="document">fichier XML du flux RSS</param> /// <param name="channel">channel associé à ce flux</param> /// <returns>analyseur XML</returns> public static AbstractSyndicationParser GetParser(XmlDocument document, Channel channel) { // DECLARATION AbstractSyndicationParser parser; SyndicationFormat format; // INITIALISATION format = SyndicationFormat.NONE; parser = null; // type de format du flux de syndication format = GetSyndicationFormat(document); switch (format) { case SyndicationFormat.RSS_0_91: parser = new RSS_0_91_Parser(document, channel, "RSS 0.91"); break; case SyndicationFormat.RSS_0_92: parser = new RSS_0_92_Parser(document, channel, "RSS 0.92"); break; case SyndicationFormat.RSS_2_0: //Enum.GetName(typeof(SyndicationFormat), SyndicationFormat.RSS_2_0); parser = new RSS_2_0_Parser(document, channel, "RSS 2.0"); break; case SyndicationFormat.ATOM_1_0: parser = new ATOM_1_0_Parser(document, channel, "Atom 1.0"); break; default: // TODO exception break; } return parser; }
public void Initialise() { // creation d'un document de fichier XML XmlDocument document = new XmlDocument(); // charge le fichier XML en memoire document.LoadXml(sampleRss092Xml); // initialise un analyseur de flux de syndication RSS 0.92 parser = new RSS_0_92_Parser(document, new Channel("Test", "http://www.scripting.com/blog/categories/gratefulDead.html", null), "RSS 0.92"); }