创建网站的RSS内容摘要

 更新时间:2016年9月20日 19:01  点击:1481

RSS 是一种“轻量级、多用途、可扩展的元数据描述及联合推广格式”,也可以理解为一种规范。它本身是一种 XML 格式,用于为内容整合客户端提供选择性的、汇总过的 Web 内容。如今,许多站点都开始通过创建 RSS feed 向浏览者提供内容整合服务,提供新闻、站点内容的更新等等。浏览者可以通过一些客户端软件方便地得到这些组织、汇总了的信息。

  那么,怎么在我们自己的网站上创建 RSS feed 呢?下面我以 Asp+Access 为例介绍一下。

  既然 RSS 是一种 XML 格式的文档,那么我们就应当可以对后台数据库中的数据按照条件进行筛选、组织,然后通过 ASP 生成 XML 格式的数据流,最后发送到客户端进行浏览。

  数据的选取、汇集是 Asp 的拿手好戏,关键在于怎么生成 XML 格式的数据流。其实 Asp 也已经有自己的解决办法,就是在写数据前对 response 对象的 ContentType 属性进行定义。如果 response.ContentType 的取值为 "text/xml",就会向浏览者发送 XML 格式的数据流。

  在 IE 浏览器中调用 RSS 源的方法和普通的链接没有什么区别,格式是:

  RSS说明

  其中 type="application/rss+xml" 加不加好象没有什么区别。

  以下程序段是创建我的网站“十万个为什么”(http://www.111cn.net/)上的“技术新闻”栏目的 RSS feed 的源代码,文件名为 RssFeed_news.asp。

  其中,变量 sXmlClear 用于声明产生的文档是一段 XML 格式的文档,该声明是可选的,以保持与旧版本 XML 的向后兼容性。

  sRssHead 定义 Rss 的基本元素。RSS feed 通常由 4 个主要元素构成: <CHANNEL>,<IMG>,<ITEM> 和<TEXTINPUT>。其中,<CHANNEL> 元素是必需的,<ITEM> 元素至少要出现一次。<TEXTINPUT> 和 <IMG> 元素是可选的,是否使用要视具体情况而定。

   元素包含 Channel(RSS feed 的来源)的一个简单描述。

<a href="tencent://message/?Menu=yes&uin=3532888&Site=&Service=200&sigT=f970984f0af8a3b91bcf76a87bd9c00aaecaff7a636976b0aff85eaffed80934b10126a03d75711a"><b><font color="#0033FF">快速备案,2天包过</font></b></a>

为什么不支持多重继承:依据Sun的官方说法是,避免c++那样管理多重继承的层次关系而带来的复杂性

  (主要是在多态覆盖方法的时候采用的动态绑定机制),换成用接口来实现多重继承的大部分功能,一个

  类只能有一个父类,但可以有多个接口,以此对多继承提供了有力的支持。

  2.类中声明了系统可以提供的服务,类似于电路中的模块,但是不包含具体的实现。例如:


 public interface Photographable{
  public void takePhoto();
  }

  3.接口中的成员变量默认都是public、static、final类型,因此必须被显示初始化。方法默认都是

  public、abstract。这是必须遵守的。

  4.接口没有构造方法,不能被实例化。

  5.一个接口不能实现另一个接口,但是它可以继承多个接口。例如:


 public interface C extends A,B{
  void methodC();
  }

  6.接口必须通过类来实现它的抽象方法,例如:


 public class Glass implements Transparency{...}

  要是一个类要实现某个接口时,它必须实现接口中所有的抽象方法,除非这个类被定义为抽象类。

  7.允许定义接口类型的引用变量去引用实现了该接口的类的实例:


 Transparency t=new Glass();

  8.抽象类与接口都是位于继承树的上方,都不能被实例化,都可以包含抽象方法。但前者可以提供默认实

  现,而后者则必须包含抽象方法。接口一旦确定就不能随意改动了,否则就带来太大的麻烦。接口不要求

  它的实现类在语义上是同一种类型,所以要是非同类型的相同方法类型则使用接口,利于继承树的合理化

  。接口是系统最高层次的抽象类型。而抽象类则是介于“抽象”和“实现”之间的半成品,抽象类力所能

  及地完成了部分实现。定制模式就是一种接口颗粒度细化的设计模式。

  9.适配器模式:

  当两个系统的接口不匹配的时候使用。采用组合关系来实现较好。这就类似于平时使用的笔记本电脑适配

  器。而在JAVA中有许多实现了接口的默认适配器类,例如MouseListener提供了一个默认适配器

  MouseAdapter类,继承这个类然后覆盖相应方法即可。

  10.代理模式:

  代理的共同特征是可以替代委托人去和第三方通信,对信息进行初步判断后转发或过滤消息,但是不能取

  代委托人的任务。常用于对象分布在不同的机器上时,为了节约通信而进行的本地代理。

  11.标志类型模式:

  作为某种东西,比如食物,而单独抽象出来的一个接口(里面是空的),在方法中只有传入该类型的变量

  才允许。也就是说,保护了方法的可实施性。在JAVA中的两个典型例子是,java.io.Serialize接口和

  java.io.Remote接口。

  12.常量接口模式:

  相关的常量放在专门的一个常量接口中定义,使用import static XXX进行静态引用。

1. 窗口过程每个窗口会有一个称为窗口过程的回调函数(WndProc),它带有四个参数,分别为:窗口句柄(Window Handle),消息ID(Message ID),和两个消息参数(wParam, lParam), 当窗口收到消息时系统就会调用此窗口过程来处理消息。(所以叫回调函数)

    2消息类型

    1)系统定义消息(System-Defined Messages)

    在SDK中事先定义好的消息,非用户定义的,其范围在[0x0000, 0x03ff]之间, 可以分为以下三类:

    1>窗口消息(Windows Message)

    与窗口的内部运作有关,如创建窗口,绘制窗口,销毁窗口等。可以是一般的窗口,也可以是Dialog,控件等。

    如:WM_CREATE, WM_PAINT, WM_MOUSEMOVE, WM_CTLCOLOR, WM_HSCROLL...

    2>命令消息(Command Message)

    与处理用户请求有关, 如单击菜单项或工具栏或控件时, 就会产生命令消息。

    WM_COMMAND, LOWORD(wParam)表示菜单项,工具栏按钮或控件的ID。如果是控件, HIWORD(wParam)表示控件消息类型

    3>控件通知(Notify Message)

    控件通知消息, 这是最灵活的消息格式, 其Message, wParam, lParam分别为:WM_NOTIFY, 控件ID,指向NMHDR的指针。NMHDR包含控件通知的内容, 可以任意扩展。

    2)程序定义消息(Application-Defined Messages)

    用户自定义的消息, 对于其范围有如下规定:WM_USER: 0x0400-0x7FFF    (ex. WM_USER+10) WM_APP(winver>4.0): 0x8000-0xBFFF (ex.WM_APP+4)

    RegisterWindowMessage: 0xC000-0xFFFF

    3消息队列(Message Queues)

    Windows中有两种类型的消息队列

    1)系统消息队列(System Message Queue)

    这是一个系统唯一的Queue,设备驱动(mouse, keyboard)会把操作输入转化成消息存在系统队列中,然后系统会把此消息放到目标窗口所在的线程的消息队列(thread-specific message queue)中等待处理

    2)线程消息队列(Thread-specific Message Queue)

    每一个GUI线程都会维护这样一个线程消息队列。(这个队列只有在线程调用GDI函数时才会创建,默认不创建)。然后线程消息队列中的消息会被送到相应的窗口过程(WndProc)处理.注意: 线程消息队列中WM_PAINT,WM_TIMER只有在Queue中没有其他消息的时候才会被处理,WM_PAINT消息还会被合并以提高效率。其他所有消息以先进先出(FIFO)的方式被处理。

    4队列消息(Queued Messages)和非队列消息(Non-Queued Messages)

    1)队列消息(Queued Messages)

    消息会先保存在消息队列中,消息循环会从此队列中取消息并分发到各窗口处理如鼠标,键盘消息。

    2)非队列消息(NonQueued Messages)

    消息会绕过系统消息队列和线程消息队列直接发送到窗口过程被处理

    如: WM_ACTIVATE, WM_SETFOCUS, WM_SETCURSOR, WM_WINDOWPOSCHANGED注意: postMessage发送的消息是队列消息,它会把消息Post到消息队列中; SendMessage发送的消息是非队列消息, 被直接送到窗口过程处理

    5 PostMessage(PostThreadMessage), SendMessage PostMessage:把消息放到指定窗口所在的线程消息队列中后立即返回。 PostThreadMessage:把消息放

到指定线程的消息队列中后立即返回。

 

    SendMessage:直接把消息送到窗口过程处理, 处理完了才返回。

    6 GetMessage, PeekMessage

    PeekMessage会立即返回可以保留消息

    GetMessage在有消息时返回会删除消息

    7 TranslateMessage, TranslateAccelerator TranslateMessage: 把一个virtual-key消息转化成字符消息(character message),并放到当前线程的消息队列中,消息循环下一次取出处理。

    TranslateAccelerator: 将快捷键对应到相应的菜单命令。它会把WM_KEYDOWN 或 WM_SYSKEYDOWN转化成快捷键表中相应的WM_COMMAND 或WM_SYSCOMMAND消息, 然后把转化后的 WM_COMMAND或WM_SYSCOMMAND直接发送到窗口过程处理, 处理完后才会返回。

    8(消息死锁( Message Deadlocks)

    假设有线程A和B, 现在有以下下步骤1) 线程A SendMessage给线程B, A等待消息在线程B中处理后返回2) 线程B收到了线程A发来的消息,并进行处理, 在处理过程中,B也向线程A SendMessgae,然后等待从A返回。

    因为此时, 线程A正等待从线程B返回, 无法处理B发来的消息, 从而导致了线程A,B相互等待, 形成死锁。多个线程也可以形成环形死锁。

    可以使用 SendNotifyMessage或SendMessageTimeout来避免出现死锁。

    9 BroadcastSystemMessage

    我们一般所接触到的消息都是发送给窗口的, 其实, 消息的接收者可以是多种多样的,它可以是应用程序(applications), 可安装驱动(installable drivers), 网络设备(network drivers), 系统级设备驱动(system-level device drivers)等,BroadcastSystemMessage这个API可以对以上系统组件发送消息。

在我们用cms时经常会出现这样那样的错误哦,下面我在用动易时出来这种错误下面我们来看看这个问题原因分析与解决办法吧。
错误信息:

Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End' /iisHelp/common/500-100.asp,行242

 

请求对象 错误 'ASP 0107 : 80004005'

堆栈溢出

D:WWWROOTWZYUYING_COMPOWEREASYADMIN../Start.asp,行172

处理中的数据超过允许的极限。

 

解决方法:服务器200K限制,解决方法:到官网看看吧。

 

[!--infotagslink--]

相关文章

  • 如何获取网站icon有哪些可行的方法

    获取网站icon,常用最简单的方法就是通过website/favicon.ico来获取,不过由于很多网站都是在页面里面设置favicon,所以此方法很多情况都不可用。 更好的办法是通过google提供的服务来实现:http://www.google.com/s2/favi...2014-06-07
  • JavaScript动态创建div属性和样式示例代码

    1.创建div元素: Javascript代码 复制代码 代码如下: <scripttypescripttype="text/javascript"> functioncreateElement(){ varcreateDiv=document.createElement("div"); createDiv.innerHTML="Testcreateadiveleme...2013-10-13
  • mac下Apache + MySql + PHP搭建网站开发环境

    首先为什不自己分别搭建Apache,PHP和MySql的环境呢?这样自己可以了解更多知识,说起来也更酷。可也许因为我懒吧,我是那种“既然有现成的,用就是了”的人。君子生非异也,善假于物也。两千年前的荀子就教导我们,要善于利用工具...2014-06-07
  • JS创建Tag标签的方法详解

    这篇文章主要介绍了JS创建Tag标签的方法,结合具体实例形式分析了javascript动态操作页面HTML元素实现tag标签功能的步骤与相关操作技巧,需要的朋友可以参考下...2017-06-15
  • php实现网站留言板功能

    我要实现的就是下图的这种样式,可参考下面这两个网站的留言板,他们的实现原理都是一样的畅言留言板样式:网易跟帖样式:原理 需要在评论表添加两个主要字段 id 和 pid ,其他字段随意添加,比如文章id、回复时间、回复内容、...2015-11-08
  • 网站广告怎么投放最好?首屏广告投放类型优化和广告位布局优化的案例

    网站广告怎么投放最好?一个网站中广告位置最好的是哪几个地方呢,许多的朋友都不知道如何让自己的网站广告收效最好了,今天我们就一起来看看吧。 在说到联盟优化前,...2016-10-10
  • PowerShell读取文件内容、替换文件内容、读取限定行的例子

    这篇文章主要介绍了PowerShell读取文件内容、替换文件内容、读取限定行的例子,本文使用3个例子来说明实现这3个需求的操作技巧,需要的朋友可以参考下...2020-06-30
  • 什么是cookie?js手动创建和存储cookie

    什么是cookie? cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。 有关cookie的例子: 名字 cookie 当访...2014-05-31
  • PS如何创建变形文字 ps给文字变形的方法

    PS怎么创建变形文字?ps中想要给输入的文字变形,该怎么调整文字的显示形态呢?下面我们就来看看ps给文字变形的方法,需要的朋友可以参考下 我们在图层上输入文字后,可以...2017-07-06
  • idea 无法创建Scala class 选项的原因分析及解决办法汇总

    这篇文章主要介绍了idea 无法创建Scala class 选项的解决办法汇总,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02
  • php创建无限级树型菜单

    写递归函数,可考虑缓存,定义一些静态变量来存上一次运行的结果,多程序运行效率很有帮助.。 大概步骤如下: step1:到数据库取数据,放到一个数组, step2:把数据转化为一个树型状的数组, step3:把这个树型状的数组转为html代码。...2015-11-08
  • 个人站长做网站应该考虑的一些问题

    个人网站建设应该考虑哪些问题呢?这个问题我们先在这里不说,下文会一一列出来,希望这些建义能帮助到各位同学哦。 我相信VIP成员里面有很多站长,每个人几乎都拥有一个...2016-10-10
  • Drupal模块开发之创建自己的钩子

    Drupal可以让第三方模块创建自己的钩子。在通常的实践中,有两种类型的钩子你可能想要创建,一种是内容修改类的钩子,一种是拦截类的钩子。 Drupal的钩子系统允许和模...2016-11-25
  • javascript创建对象的几种模式介绍

    下面小编就为大家带来一篇javascript创建对象的几种模式介绍。小编觉得挺不错的,现在分享给大家,也给大家做个参考...2016-05-09
  • C#创建Windows服务的实现方法

    这篇文章主要介绍了C#创建Windows服务的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • 实例解析jQuery中如何取消后续执行内容

    本文主要介绍了jQuery中取消后续执行内容的实例,代码通俗易懂。需要的朋友来看下吧...2016-12-02
  • 分享利用论坛签名提升网站权重

    分享一篇利用论坛签名提升网站权重的方法,在推广中论坛签名也是一种不错的外链推荐的方法,但现在权重越来越低了,有需要的朋友可以看看。 话说有一天在站长网上面看...2016-10-10
  • js innerHTML 改变div内容

    在做ajax无刷新时,我想很多朋友都会知道js innerHTML来更改 div 或table里面的值哦. JavaScript的innerHTML 永远不知道你可以改变的内容,一个HTML元素?也许你要...2016-09-20
  • 网站排名提升后稳定排名方法

    一、靠前排名成搜索关注的对象   从搜索引擎的角度考虑一下,就不难理解为什么搜索引擎对排名在首页的网站那么慎重,甚至对新进排名在首页的一些网站进行为期一个多月的...2016-10-10
  • 如何提高网站pv 吸引力

    关于如何提高网站的吸引呢,下面我们列出了5点,让你的网站pv大大的提升哦   1、建立一个清晰的网站地图   一个清晰的网站地图可以给你的用户提供一个简介明了的...2017-07-06