예제 #1
0
        //Die Methode CreateSpieltagDTO() erstellt ein neues Objekt in unserer Liste "SpieltagModel" und returned die Liste "spieltags"
        public List <SpieltagModel> CreateSpieltagDTO(BundesligaDeserializing bundesligaCollection)
        {
            List <SpieltagModel> spieltags = new List <SpieltagModel>();

            foreach (var item in bundesligaCollection.Channel.Items)
            {
                SpieltagModel neuesSpiel = new SpieltagModel();
                neuesSpiel.Begegnung   = item.Title;
                neuesSpiel.Information = item.Description;

                spieltags.Add(neuesSpiel);
            }
            return(spieltags);
        }
예제 #2
0
        //Die Methode DeserializeXml() erstellt eine Liste (deserializedSpieltage) vom Typen "SpieltagModel" aus einem RSSFeed
        //Returned die Liste "deserializedSpieltage" mit einer Auflistung aller Partien und deren Description
        public List <SpieltagModel> DeserializeXml()
        {
            //Schritt 1: Xml Pfad + Liste initialisieren
            string path = "http://rss.kicker.de/live/bundesliga";
            List <SpieltagModel> deserializedSpieltage = new List <SpieltagModel>();

            //Der Webrequest holt sich die XML (falls diese gezippt ist wird diese dekomprimiert)
            HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(path);

            webReq.AutomaticDecompression = DecompressionMethods.GZip;
            HttpWebResponse response  = (HttpWebResponse)webReq.GetResponse();
            string          KickerXML = string.Empty;

            //Der StreamReader liest die Textfile/XML aus, die in der "response" steht
            using (StreamReader sr = new StreamReader(response.GetResponseStream()))
            {
                //Datei wird ausgelesen, Sonderzeichen gelöscht, ein XMLDocument erstellt und in dieses die XML gespeichert
                KickerXML = sr.ReadToEnd();
                string      KickerXML_ohneHexa = KickerXML.Replace(Convert.ToString((byte)0x1F), string.Empty);
                XmlDocument loadedXml          = new XmlDocument();
                loadedXml.LoadXml(KickerXML_ohneHexa);

                //XmlDocument in MemoryStream laden. Dieser legt das XML im Arbeitsspeicher ab
                MemoryStream memStream = new MemoryStream();
                loadedXml.Save(memStream);
                memStream.Seek(0, 0);

                //Deserializer initialisieren
                XmlSerializer deserializer = new XmlSerializer(typeof(BundesligaDeserializing));

                //Deserializer "starten"
                BundesligaDeserializing bundesligaCollection = new BundesligaDeserializing();
                bundesligaCollection = (BundesligaDeserializing)deserializer.Deserialize(memStream);
                //Die Methode CreateSpieltagDTO aufrufen und dort eine Liste mit Objekten füllen
                deserializedSpieltage = CreateSpieltagDTO(bundesligaCollection);
            }
            return(deserializedSpieltage);
        }