以前覚えていますか?以前はページ上に指定したコンテンツ(RSS出力アドレス)を呼び出すウィジェットを記述していました。最良の方法は、XSLT+XML を通じて文字列を出力することです。少し時間をとって、前のアプローチを思い出してみましょう
:
Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
Dim CacheKey As String = URL & "-" & Sort
Dim objCache As System.Web.Caching.Cache = HttpRuntime.Cache
objCache.Item(CacheKey) が何もない場合
Dim xpDocument As XPathDocument = New XPathDocument(Url, XmlSpace.Preserve)
Dim XTran As XslTransform = 新しい XslTransform
XTran.Load(Web.HttpRuntime.AppDomainAppPath & "TransForm.xsl") 'TransForm.xsl
Dim sw As StringWriter = 新しい StringWriter
Dim xArgList As XsltArgumentList = 新しい XsltArgumentList
xArgList.AddParam("並べ替え", "", 並べ替え)
xArgList.AddParam("strlength", "", strLength)
XTran.Transform(xpDocument, xArgList, sw)
objCache.Insert(CacheKey, sw, Nothing, DateTime.Now.AddMinutes(15), TimeSpan.Zero)
終了の場合
MyBase.Text = CType(objCache.Item(CacheKey), StringWriter).ToString
End SubXSLT 変換ファイル
xmlns:xsl=" http://www.w3.org/1999/XSL/Transform "
xmlns=" http://www.w3.org/TR/REC-html40 "
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:dc=" http://purl.org/dc/elements/1.1/ "
xmlns:slash=" http://purl.org/rss/1.0/modules/slash/ "
xmlns:sy=" http://purl.org/rss/1.0/modules/syndication/ "
xmlns:resuls="urn:StrLength">
Function GetSubString(byval origStr As String, byval endIndex As Integer) As String
Dim バイト As Byte() = System.Text.Encoding.GetEncoding("gb2312").GetBytes(origStr)
endIndex >= bytes.Length の場合
origStr を返す
終了の場合
Dim subBytes(endIndex) をバイトとして
Array.Copy(バイト, 0, サブバイト, 0, endIndex)
戻り System.Text.Encoding.GetEncoding("gb2312").GetString(subBytes) + ""
終了関数 'GetSubString
public function strDate(byval s as string)as string
CDate(s).Day.ToString & "日" を返します
終了関数
]]>
而现在。根据MS的想法。一切只要拖拖控件就能完成我们的所要功能(我一向不喜欢这样,还是自己DIY好)。所以。下面介绍这款小工具:ASP.NET RSS Toolkit
RSS TOOLKIT主要是从服务器上装载RSS输出(XML格式输出),生成数据集,然后填充到DATALIST控件当中。另外它支持数据缓存的功能
目前最新版本:1.0.0.1
新的特性:
• Added MaxItems property to RssDataSource to limit the number of items returned.
• Added automatic generation of tags from RssHyperLink control, to light up the RSS
toolbar icon in IE7. For more information please see http://blogs.msdn.com/rssteam/articles/PublishersGuide.aspx
• Added protected Context property (of type HttpContext) to RssHttpHandlerBase class, to allow access to the
HTTP request while generating a feed.
• Added generation of LoadChannel(string url) method in RssCodeGenerator so that one strongly typed
channel class can be used to consume different channels.
• Fixed problem expanding app relative (~/…) links containing query string when generating RSS feeds.
下载地址:点击下载
详细说明:http://weblogs.asp.net/scottgu/archive/2006/02/22/438738.aspx
创建新的页面
为datalist控件创建新的数据源
选择rssDataSource
输入RSS地址(我这里以http://rss.msnbc.msn.com/id/3032091/device/rss/rss.xml)
RSS出力のフォーマットに従ってバインドする