📄 rsschanneltag.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 + -