還記得以前嗎?以前要做頁面上寫個小元件,呼叫指定(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
If objCache.Item(CacheKey) Is Nothing Then
Dim xpDocument As XPathDocument = New XPathDocument(Url, XmlSpace.Preserve)
Dim XTran As XslTransform = New XslTransform
XTran.Load(Web.HttpRuntime.AppDomainAppPath & "TransForm.xsl") 'TransForm.xsl
Dim sw As StringWriter = New StringWriter
Dim xArgList As XsltArgumentList = New XsltArgumentList
xArgList.AddParam("Sort", "", Sort)
xArgList.AddParam("strlength", "", strLength)
XTran.Transform(xpDocument, xArgList, sw)
objCache.Insert(CacheKey, sw, Nothing, DateTime.Now.AddMinutes(15), TimeSpan.Zero)
End If
MyBase.Text = CType(objCache.Item(CacheKey), StringWriter).ToString
End SubXSLT轉換檔
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet
version="1.0"
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">
<xsl:param name="Sort" select="'10'"></xsl:param>
<xsl:param name="strlength" select="'15'"></xsl:param>
<xsl:template match="//rss">
<xsl:apply-templates select="channel" />
</xsl:template>
<msxsl:script language="VB" implements-prefix="resuls">
<![CDATA[
Function GetSubString(byval origStr As String, byval endIndex As Integer) As String
Dim bytes As Byte() = System.Text.Encoding.GetEncoding("gb2312").GetBytes(origStr)
If endIndex >= bytes.Length Then
Return origStr
End If
Dim subBytes(endIndex) As Byte
Array.Copy(bytes, 0, subBytes, 0, endIndex)
Return System.Text.Encoding.GetEncoding("gb2312").GetString(subBytes) + ""
End Function 'GetSubString
public function strDate(byval s as string)as string
return CDate(s).Day.ToString & "日"
end function
]]>
</msxsl:script>
<xsl:template match="channel">
<table width="300" border="0" cellspacing="0" cellpadding="0">
<xsl:for-each select="item">
<xsl:if test="position() <=$Sort">
<tr>
<td width="21"><img src=" http://rss.msnbc.msn.com/id/3032091/device/rss/rss.xml)
根據RSS輸出的格式,進行綁定
OK。現在可以瀏覽一下效果
晚上出去吃晚餐的時候。走出外面,感覺到夏天的來到。呵。我喜歡夏天的這種感覺。帶上好的心情,出去走走。也是很好的享受。最後。推薦一首歌:夏天的味道。