TextDocument.cs
上传用户:huiyue
上传日期:2022-04-08
资源大小:1429k
文件大小:2k
源码类别:

搜索引擎

开发平台:

ASP/ASPX

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace Searcharoo.Common
  5. {
  6.     /// <summary>
  7.     /// ASCII Text Document (text/plain)
  8.     /// </summary>
  9.     public class TextDocument : Document
  10.     {
  11.         private string _All;
  12.         private string _WordsOnly;
  13.         public override string WordsOnly
  14.         {
  15.             get { return _WordsOnly; }
  16.         }
  17.         public override string[] WordsArray
  18.         {
  19.             get { return this.WordsStringToArray(WordsOnly); }
  20.         }
  21.         /// <summary>
  22.         /// Set 'all' and 'words only' to the same value (no parsing)
  23.         /// </summary>
  24.         public override string All {
  25.             get { return _All; }
  26.             set { 
  27.                 _All = value;
  28.                 _WordsOnly = value;
  29.             }
  30.         }
  31.         
  32.         #region Constructor requires Uri
  33.         public TextDocument(Uri location):base(location)
  34.         {
  35.             Extension = "txt";
  36.         }
  37.         #endregion
  38.         public override void Parse()
  39.         {
  40.             // no parsing, by default the content is used "as is"
  41.         }
  42.         public override bool GetResponse(System.Net.HttpWebResponse webresponse)
  43.         {
  44.             //http://www.c-sharpcorner.com/Code/2003/Dec/ReadingWebPageSources.asp
  45.             System.IO.StreamReader stream = new System.IO.StreamReader
  46.                 (webresponse.GetResponseStream(), System.Text.Encoding.ASCII);
  47.             this.Uri = webresponse.ResponseUri; // we *may* have been redirected... and we want the *final* URL
  48.             this.Length = webresponse.ContentLength;
  49.             this.All = stream.ReadToEnd();
  50.             this.Title = System.IO.Path.GetFileName(this.Uri.AbsoluteUri);
  51.             this.Description = base.GetDescriptionFromWordsOnly(WordsOnly);
  52.             stream.Close();
  53.             return true; 
  54.         }
  55.     }
  56. }