易截截图软件、单文件、免安装、纯绿色、仅160KB

用asp读取xml时清除缓存的问题与解决办法

前段时间给客户做了几个网页,客户要求在自己的网站中显示自己在新浪博客里的文章,作为网站的一部分。这样的情况可以解决,主要可以通过博客中的 XML来实现,通过用asp来读取博客中XML,将博客中的标题、发布时间等信息显示在网站中。但是在使用的过程中,出现了一个问题:当博客中添加文章后,在网页中读取博客中的XML后进行更新,但是却没有及时更新,查询了很多信息,发现是网站没有及时更新XML数据而造成的。如何解决?先是尝试清除网站的缓存,设置网站中的HTTP头:Cache-Control和值:no-cache。设置后进行测试,发现效果不好,主要问题是这样的设置只是清除了网站内所包含的图片,文本等缓存,没有更新XML缓存,所以没有解决前面的问题。
 
       无奈只能再查找,所幸在CSDN中看到一篇文章,介绍清除缓存的好办法是改变思路,不是清除内容,而是强行加载要更新的内容。主要思路是在打开的路径中添加随机数,因为在iis中访问不同的路径时,内容是强行加载的,没有调用缓存。有了这个思路,改动程序就比较方便了。具体代码如下:
<%
dim xmlDoc
dim http
dim bitem
dim bi
dim title
dim link
dim pubdate
dim days
dim months
dim NM
dim xmlseed
dim conn,strconn,rs
dim ReadSinaRss
Randomize '增加随机数初始化语句
'原本的赋值语句为:xmlseed="http://blog.sina.com.cn/rss /adsbaby.xml",修改后为:
xmlseed="http://blog.sina.com.cn/rss/adsbaby.xml?tmp="&int(rnd*1000)
’注意:在URL地址中,最后增加”?xxx=number“这种形式对浏览内容不会影响,是让浏览地址内容重新加载的一种比较好的办法
Set http=Server.CreateObject("Microsoft.XMLHTTP")
http.Open "GET",xmlseed,False
http.send
Set xmlDoc=Server.CreateObject("Microsoft.XMLDOM")
xmlDoc.Async=False
xmlDoc.ValidateOnParse=False
xmlDoc.Load(http.ResponseXML)
Set bitem=xmlDoc.getElementsByTagName("item")
if bitem.Length>=0 then
ReadSinaRss="<table width=100% cellpadding=0 cellspacing=0>"
For bi=0 To (bitem.Length-1)
 if bi<=5 then
 
  Set pubdate=bitem.Item(bi).getElementsByTagName("pubDate")
  Set title=bitem.Item


相关文档:

VC读写XML文件

MSXML2::IXMLDOMDocumentPtr pDoc;
MSXML2::IXMLDOMElementPtr  xmlRoot ;
 // 创建DOMDocument对象
 HRESULT hr  =  pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument40));
 if ( ! SUCCEEDED(hr))
  { 
 MessageBox( " 无法创建DOMDocument对象,请检查 ......

xml中特殊符号的转换

调试时发现日志报如下错误 org.xml.sax.SAXParseException
发现是xml对特殊符号要做处理,几个特殊符号如下:
&lt; < 小于号
&gt; > 大于号
&amp; & 和
&apos; ' 单引号
&quot; " 双引号
在xml中把特殊符号用上述转下即好了 ......

XML 序列化示例

XML 序列化可以采用从简单到复杂的多种形式。例如,可以序列化只包含公共字段和公共属性的类,如 XML 序列化简介中所示。下面的代码示例讨论各种高级方案,包括如何使用 XML 序列化生成符合特定 XML 架构 (XSD) 文档的 XML 流。
序列化数据集
除了序列化公共类的实例外,还可序列化 DataSet 的实例,如下面的代码示例所示 ......

XmlDocument.LoadXML+如何构造xml字符串

http://topic.csdn.net/u/20080905/10/caea1689-4582-417a-8723-d008a3ae1a10.html?550638422
            tringBuilder sb = new StringBuilder();
            sb.Append(" <?xml version=\"1.0\"?> ");
    ......

ASP产生不重复的随机数(模拟洗牌)

功能作用:ASP产生不重复的随机数(模拟游戏洗牌)
<%
function GetRnd(lowerNum,upperNum)
Dim unit,RndNum,Fun_X
unit = upperNum - lowerNum
Redim MyArray(unit)
For Fun_I=0 To unit
myArray(Fun_I)= lowerNum + Fun_I
Next
For Fun_I=0 To round(unit)
RndNum ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号