⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rsschanneltag.cs

📁 该项目中对 SQLHelper 类进行了简单封装
💻 CS
字号:
/* 
 * RssChannelTag.cs @Microsoft Visual Studio 2008 <.NET Framework 3.5>
 * AfritXia
 * 2008-01-31
 * 
 * Copyright(c) http://www.AfritXia.NET/
 * 
 */

using System;
using System.Collections.Generic;
using System.Xml;

using NET.AfritXia.RssFoundation.RssChannel;
using NET.AfritXia.RssFoundation.RssGeneric;

namespace NET.AfritXia.RssFoundation
{
	/// <summary>
	/// channel 标记
	/// </summary>
	public class RssChannelTag : RssTagBase
	{
		// item 标记集合
		private IList<RssItemTag> m_itemList = null;

		#region 类构造器
		/// <summary>
		/// 类默认构造器
		/// </summary>
		public RssChannelTag()
			: base()
		{
			this.m_itemList = new List<RssItemTag>();
		}
		#endregion

		/// <summary>
		/// 返回标记名称
		/// </summary>
		protected override string TagName
		{
			get
			{
				return "channel";
			}
		}

		/// <summary>
		/// 空标记值
		/// </summary>
		public override object Value
		{
			set
			{
				throw new NotSupportedException("不能为该标记赋值 ( Cannot put value for this Tag )");
			}

			get
			{
				return null;
			}
		}

		/// <summary>
		/// 设置或获取标题, TitleTag 属性的简化操作形式
		/// </summary>
		public string Title
		{
			set
			{
				this.TitleTag = new TitleTag(value);
			}

			get
			{
				if (this.TitleTag == null)
					return null;

				return this.TitleTag.Value;
			}
		}

		/// <summary>
		/// 设置或获取 title 标记
		/// </summary>
		public TitleTag TitleTag
		{
			set
			{
				if (value == null)
				{
					base.RemoveChildTag<TitleTag>();
					return;
				}

				base.AddChildTag(value);
			}

			get
			{
				return base.GetChildTag<TitleTag>();
			}
		}

		/// <summary>
		/// 设置或获取链接, LinkTag 属性的简化操作形式
		/// </summary>
		public string Link
		{
			set
			{
				this.LinkTag = new LinkTag(value);
			}

			get
			{
				if (this.LinkTag == null)
					return null;

				return this.LinkTag.Value;
			}
		}

		/// <summary>
		/// 设置或获取 link 标记
		/// </summary>
		public LinkTag LinkTag
		{
			set
			{
				if (value == null)
				{
					base.RemoveChildTag<LinkTag>();
					return;
				}

				base.AddChildTag(value);
			}

			get
			{
				return base.GetChildTag<LinkTag>();
			}
		}

		/// <summary>
		/// 设置或获取描述说明信息, DescriptionTag 属性的简化操作形式
		/// </summary>
		public string Description
		{
			set
			{
				this.DescriptionTag = new DescriptionTag(value);
			}

			get
			{
				if (this.DescriptionTag == null)
					return null;

				return this.DescriptionTag.Value;
			}
		}

		/// <summary>
		/// 设置或获取 description 标记
		/// </summary>
		public DescriptionTag DescriptionTag
		{
			set
			{
				if (value == null)
				{
					base.RemoveChildTag<DescriptionTag>();
					return;
				}

				base.AddChildTag(value);
			}

			get
			{
				return base.GetChildTag<DescriptionTag>();
			}
		}

		/// <summary>
		/// 设置或获取语言信息, LanguageTag 属性的简化操作形式
		/// </summary>
		public string Language
		{
			set
			{
				this.LanguageTag = new LanguageTag(value);
			}

			get
			{
				if (this.LanguageTag == null)
					return null;

				return this.LanguageTag.Value;
			}
		}

		/// <summary>
		/// 设置或获取 language 标记
		/// </summary>
		public LanguageTag LanguageTag
		{
			set
			{
				if (value == null)
				{
					base.RemoveChildTag<LanguageTag>();
					return;
				}

				base.AddChildTag(value);
			}

			get
			{
				return base.GetChildTag<LanguageTag>();
			}
		}

		/// <summary>
		/// 设置或获取版权信息, CopyrightTag 属性的简化操作形式
		/// </summary>
		public string Copyright
		{
			set
			{
				base.AddChildTag(new CopyrightTag(value));
			}

			get
			{
				if (this.CopyrightTag == null)
					return null;

				return this.CopyrightTag.Value;
			}
		}

		/// <summary>
		/// 设置或获取 copyright 标记
		/// </summary>
		public CopyrightTag CopyrightTag
		{
			set
			{
				if (value == null)
				{
					base.RemoveChildTag<CopyrightTag>();
					return;
				}

				base.AddChildTag(value);
			}

			get
			{
				return base.GetChildTag<CopyrightTag>();
			}
		}

		/// <summary>
		/// 设置或获取管理编辑者, ManagingEditorTag 属性的简化操作形式
		/// </summary>
		public string ManagingEditor
		{
			set
			{
				this.ManagingEditorTag = new ManagingEditorTag(value);
			}

			get
			{
				if (this.ManagingEditorTag == null)
					return null;

				return this.ManagingEditorTag.Value;
			}
		}

		/// <summary>
		/// 设置或获取 managingEditor 标记
		/// </summary>
		public ManagingEditorTag ManagingEditorTag
		{
			set
			{
				if (value == null)
				{
					base.RemoveChildTag<ManagingEditorTag>();
					return;
				}

				base.AddChildTag(value);
			}

			get
			{
				return base.GetChildTag<ManagingEditorTag>();
			}
		}

		/// <summary>
		/// 设置或获取网站管理员名称, WebMasterTag 属性的简化操作形式
		/// </summary>
		public string WebMaster
		{
			set
			{
				this.WebMasterTag = new WebMasterTag(value);
			}

			get
			{
				if (this.WebMasterTag == null)
					return null;

				return this.WebMasterTag.Value;
			}
		}

		/// <summary>
		/// 设置或获取 webMaster 标记
		/// </summary>
		public WebMasterTag WebMasterTag
		{
			set
			{
				if (value == null)
				{
					base.RemoveChildTag<WebMasterTag>();
					return;
				}

				base.AddChildTag(value);
			}

			get
			{
				return base.GetChildTag<WebMasterTag>();
			}
		}

		/// <summary>
		/// 设置或获取频道发布日期, PubDateTag 属性的简化操作形式
		/// </summary>
		public DateTime PubDate
		{
			set
			{
				this.PubDateTag = new PubDateTag(value);
			}

			get
			{
				if (this.PubDateTag == null)
					return new DateTime(0);

				return this.PubDateTag.Value;
			}
		}

		/// <summary>
		/// 设置或获取 pubDate 标记
		/// </summary>
		public PubDateTag PubDateTag
		{
			set
			{
				if (value == null)
				{
					base.RemoveChildTag<PubDateTag>();
					return;
				}

				base.AddChildTag(value);
			}

			get
			{
				return base.GetChildTag<PubDateTag>();
			}
		}

		/// <summary>
		/// 设置或获取最后构建日期, LastBuildDateTag 属性的简化操作形式
		/// </summary>
		public DateTime LastBuildDate
		{
			set
			{
				this.LastBuildDateTag = new LastBuildDateTag(value);
			}

			get
			{
				if (this.LastBuildDateTag == null)
					return new DateTime(0);

				return this.LastBuildDateTag.Value;
			}
		}

		/// <summary>
		/// 设置或获取 lastBuildDateTag 标记
		/// </summary>
		public LastBuildDateTag LastBuildDateTag
		{
			set
			{
				if (value == null)
				{
					base.RemoveChildTag<LastBuildDateTag>();
					return;
				}

				base.AddChildTag(value);
			}

			get
			{
				return base.GetChildTag<LastBuildDateTag>();
			}
		}

		/// <summary>
		/// 设置或获取所属类别, CategoryTag 属性的简化操作形式
		/// </summary>
		public string Category
		{
			set
			{
				this.CategoryTag = new CategoryTag(value);
			}

			get
			{
				if (this.CategoryTag == null)
					return null;

				return this.CategoryTag.Value;
			}
		}

		/// <summary>
		/// 设置或获取 category 标记
		/// </summary>
		public CategoryTag CategoryTag
		{
			set
			{
				if (value == null)
				{
					base.RemoveChildTag<CategoryTag>();
					return;
				}

				base.AddChildTag(value);
			}

			get
			{
				return base.GetChildTag<CategoryTag>();
			}
		}

		/// <summary>
		/// 获取生成该频道的程序名称, GeneratorTag 属性的简化操作形式
		/// </summary>
		public string Generator
		{
			set
			{
				this.GeneratorTag = new GeneratorTag(value);
			}

			get
			{
				if (this.GeneratorTag == null)
					return null;

				return this.GeneratorTag.Value;
			}
		}

		/// <summary>
		/// 设置或获取 generator 标记
		/// </summary>
		public GeneratorTag GeneratorTag
		{
			set
			{
				if (value == null)
				{
					base.RemoveChildTag<GeneratorTag>();
					return;
				}

				base.AddChildTag(value);
			}

			get
			{
				return this.GetChildTag<GeneratorTag>();
			}
		}

		/// <summary>
		/// 设置或获取 RSS 格式文档, DocsTag 属性的简化操作形式
		/// </summary>
		public string Docs
		{
			set
			{
				this.DocsTag = new DocsTag(value);
			}

			get
			{
				if (this.DocsTag == null)
					return null;

				return this.DocsTag.Value;
			}
		}

		/// <summary>
		/// 设置或获取 docs 标记
		/// </summary>
		public DocsTag DocsTag
		{
			set
			{
				if (value == null)
				{
					base.RemoveChildTag<DocsTag>();
					return;
				}

				base.AddChildTag(value);
			}

			get
			{
				return base.GetChildTag<DocsTag>();
			}
		}

		/// <summary>
		/// 设置或获取 cloud 标记
		/// </summary>
		public CloudTag CloudTag
		{
			set
			{
				if (value == null)
				{
					base.RemoveChildTag<CloudTag>();
					return;
				}

				base.AddChildTag(value);
			}

			get
			{
				return base.GetChildTag<CloudTag>();
			}
		}

		/// <summary>
		/// 设置或获取缓存有效保持时间, TTLTag 属性的简化操作形式
		/// </summary>
		public int TTL
		{
			set
			{
				this.TTLTag = new TTLTag(value);
			}

			get
			{
				if (this.TTLTag == null)
					return 0;

				return this.TTLTag.Value;
			}
		}

		/// <summary>
		/// 设置或获取 ttl 标记
		/// </summary>
		public TTLTag TTLTag
		{
			set
			{
				if (value == null)
				{
					base.RemoveChildTag<TTLTag>();
					return;
				}

				base.AddChildTag(value);
			}

			get
			{
				return base.GetChildTag<TTLTag>();
			}
		}

		/// <summary>
		/// 设置或获取 image 标记
		/// </summary>
		public ImageTag ImageTag
		{
			set
			{
				if (value == null)
				{
					base.RemoveChildTag<ImageTag>();
					return;
				}

				base.AddChildTag(value);
			}

			get
			{
				return base.GetChildTag<ImageTag>();
			}
		}

		/// <summary>
		/// 设置或获取频道统计图片地址, RatingTag 属性的简化操作形式
		/// </summary>
		public string Rating
		{
			set
			{
				this.RatingTag = new RatingTag(value);
			}

			get
			{
				if (this.RatingTag == null)
					return null;

				return this.RatingTag.Value;
			}
		}

		/// <summary>
		/// 设置或获取 rating 标记
		/// </summary>
		public RatingTag RatingTag
		{
			set
			{
				if (value == null)
				{
					base.RemoveChildTag<RatingTag>();
					return;
				}

				base.AddChildTag(value);
			}

			get
			{
				return base.GetChildTag<RatingTag>();
			}
		}

		/// <summary>
		/// 设置或获取 textInput 标记
		/// </summary>
		public TextInputTag TextInputTag
		{
			set
			{
				if (value == null)
				{
					base.RemoveChildTag<TextInputTag>();
					return;
				}

				base.AddChildTag(value);
			}

			get
			{
				return base.GetChildTag<TextInputTag>();
			}
		}

		/// <summary>
		/// 设置或获取被忽略的时段, SkipHoursTag 属性的简化操作形式
		/// </summary>
		public int SkipHours
		{
			set
			{
				this.SkipHoursTag = new SkipHoursTag(value);
			}

			get
			{
				if (this.SkipHoursTag == null)
					return -1;

				return this.SkipHoursTag.Value;
			}
		}

		/// <summary>
		/// 设置或获取 skipHours 标记
		/// </summary>
		public SkipHoursTag SkipHoursTag
		{
			set
			{
				if (value == null)
				{
					base.RemoveChildTag<SkipHoursTag>();
					return;
				}

				base.AddChildTag(value);
			}

			get
			{
				return base.GetChildTag<SkipHoursTag>();
			}
		}

		/// <summary>
		/// 设置或获取被忽略的日期, SkipDaysTag 属性的简化操作形式
		/// </summary>
		public int SkipDays
		{
			set
			{
				this.SkipDaysTag = new SkipDaysTag(value);
			}

			get
			{
				if (this.SkipDaysTag == null)
					return -1;

				return this.SkipDaysTag.Value;
			}
		}

		/// <summary>
		/// 设置或获取 skipDays 标记
		/// </summary>
		public SkipDaysTag SkipDaysTag
		{
			set
			{
				if (value == null)
				{
					base.RemoveChildTag<SkipDaysTag>();
					return;
				}

				base.AddChildTag(value);
			}

			get
			{
				return base.GetChildTag<SkipDaysTag>();
			}
		}

		/// <summary>
		/// 获取 item 标记集合
		/// </summary>
		public IList<RssItemTag> ItemList
		{
			get
			{
				return this.m_itemList;
			}
		}

		/// <summary>
		/// 写出 XML 内容
		/// </summary>
		/// <param name="writer"></param>
		public override void WriteXml(XmlWriter writer)
		{
			if (writer == null)
				return;

			// <channel>
			writer.WriteStartElement(this.TagName);
			{
				if (this.ChildTagHash != null)
				{
					foreach (RssTagBase tag in this.ChildTagHash.Values)
						tag.WriteXml(writer);
				}

				foreach (RssItemTag item in this.ItemList)
					item.WriteXml(writer);
			}
			// </channel>
			writer.WriteEndElement();
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -