コード例 #1
0
        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);
        }
コード例 #2
0
		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#";
		}