RSSModel.cs CampusAppWP8::Model::events_news::RSSModel CampusAppWP8::Model::events_news usingCampusAppWP8.Model; usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Threading.Tasks; usingSystem.Xml.Serialization; namespaceCampusAppWP8.Model.events_news { publicclassRSSModel:BaseModel { privatestringtitle; privatestringtext; privateDateTimetimestamp; privatestringlink; [XmlElement("title")] publicstringTitle { get{returnthis.title;} set { if(this.title!=value) { this.title=value; NotifyPropertyChanged("rss"); } } } [XmlElement("description")] publicstringText { get{returnthis.text;} set { if(this.text!=HTMLUnicodeToString(value)) { this.text=HTMLUnicodeToString(value); NotifyPropertyChanged("rss"); } } } [XmlElement("pubDate")] publicstringTimestamp { get{returnthis.timestamp.ToString("R");} set { if(this.timestamp!=DateTime.Parse(value)) { this.timestamp=DateTime.Parse(value); NotifyPropertyChanged("rss"); } } } publicDateTimeDTTimestamp { get{returnthis.timestamp;} set{this.timestamp=value;} } publicstringDate { get{returnString.Format("{0:ddd,dd.MM.yyyy}",this.timestamp);} } publicstringTime { get{returnString.Format("{0:h:mm}Uhr",this.timestamp);} } [XmlElement("link")] publicstringLink { get{returnthis.link;} set { if(this.link!=value) { this.link=value; NotifyPropertyChanged("rss"); } } } privatestringHTMLUnicodeToString(stringhtmluni) { StringBuilderretValue=newStringBuilder(); for(inti=0;i<htmluni.Length;i++) { switch(htmluni[i]) { //beginningtagoftheunicode case'&': { intstartOff=i+2; //searclosingtagoftheunicode intendOff=htmluni.IndexOf(';',startOff); //getandparsevalueinbetween stringsub=htmluni.Substring(startOff,endOff-startOff); intcVal=int.Parse(sub); switch(cVal) { //iftheunicodevalueis128(€) case128: retValue.Append('€'); break; default: retValue.Append((char)cVal); break; } //setthecurrentindextotheendoftheunicodetag i=endOff; } break; case'<': { //ignoring<..>htmltags i=htmluni.IndexOf('>',i); } break; case'\t': //removingtabs break; default: { //addingothercharacterstothereturnstring retValue.Append(htmluni[i]); } break; } } returnretValue.ToString(); } publicstaticintCompareTimeStamp(RSSModelitem1,RSSModelitem2) { if(item1.DTTimestamp>item2.DTTimestamp) return-1; else return0; } } }