private List <itemResult> itemSearch(string queryStr) { string itemName; Hashtable itemList = new Hashtable(); int matchcount = 0; List <itemResult> results = new List <itemResult>(); XmlDocument gwItemsDocument = new XmlDocument(); gwItemsDocument.Load(FileLocations.gwItemNames()); XmlElement gwRoot = gwItemsDocument.DocumentElement; IEnumerator itemsEnumerator = gwRoot.GetEnumerator(); while (itemsEnumerator.MoveNext()) { XmlElement curNode = itemsEnumerator.Current as XmlElement; itemList.Add(curNode.GetAttribute("id"), curNode.InnerText); } foreach (DictionaryEntry curItem in itemList) { //curGame = games[i] as Hashtable; itemName = Regex.Replace(curItem.Value.ToString().ToLower(), @"\s+", ""); if (itemName.Contains(queryStr)) { matchcount++; int similarity = LevenshteinDistance.Compute(itemName, queryStr); itemResult resultClass = new itemResult { Name = curItem.Value.ToString(), id = curItem.Key.ToString(), similarity = similarity }; results.Add(resultClass); } } if (results.Count == 0) { foreach (DictionaryEntry curItem in itemList) { //curGame = games[i] as Hashtable; itemName = Regex.Replace(curItem.Value.ToString().ToLower(), @"\s+", ""); matchcount++; int similarity = LevenshteinDistance.Compute(itemName, queryStr); if (similarity < 15) { itemResult resultClass = new itemResult { Name = curItem.Value.ToString(), id = curItem.Key.ToString(), similarity = similarity }; results.Add(resultClass); } } } return(results); }
public static string ParseRssFile() { Console.WriteLine("testing"); XmlDocument rssXmlDoc = new XmlDocument(); // Load the RSS file from the RSS URL rssXmlDoc.Load("http://www.turfclub.com.sg/_layouts/RssGeneration.aspx?ModuleName=RD"); // Parse the Items in the RSS file XmlNodeList rssNodes = rssXmlDoc.SelectNodes("rss/channel/item"); StringBuilder rssContent = new StringBuilder(); // Iterate through the items in the RSS file List<itemResult> item = new List<itemResult>(); foreach (XmlNode rssNode in rssNodes) { XmlNode rssSubNode = rssNode.SelectSingleNode("title"); string title = rssSubNode != null ? rssSubNode.InnerText : ""; rssSubNode = rssNode.SelectSingleNode("description"); string description = rssSubNode != null ? rssSubNode.InnerText : ""; rssSubNode = rssNode.SelectSingleNode("link"); string link = rssSubNode != null ? rssSubNode.InnerText : ""; rssSubNode = rssNode.SelectSingleNode("category"); string category = rssSubNode != null ? rssSubNode.InnerText : ""; rssSubNode = rssNode.SelectSingleNode("guid"); string guid = rssSubNode != null ? rssSubNode.InnerText : ""; rssSubNode = rssNode.SelectSingleNode("pubDate"); string pubDate = rssSubNode != null ? rssSubNode.InnerText : ""; itemResult newIt = new itemResult(); newIt.title = title; newIt.decsription = description; newIt.link = link; newIt.category = category; newIt.guid = guid; newIt.gpubDate = pubDate; item.Add(newIt); Console.WriteLine(item.Count); } //foreach (itemResult k in item) { // Insert(k.title, k.decsription, k.link, k.category, k.guid, k.gpubDate); //} string s = item[3].decsription; // Split string on spaces. // ... This will separate all the words. string[] words = s.Split(new string[] { "<br/>" }, StringSplitOptions.None); int k = words.Length; Console.WriteLine("----------"); Console.WriteLine(k); Console.WriteLine("----------"); Console.WriteLine(words[0]); Console.WriteLine(words[1]); Console.WriteLine(words[2]); Console.WriteLine(words[3]); Console.WriteLine("----------"); // Return the string that contain the RSS items return "hello C#"; }