Ingat sebelumnya? Saya biasa menulis widget di halaman untuk memanggil konten yang ditentukan (alamat keluaran RSS). Cara terbaik adalah mengeluarkan string melalui XSLT+XML. Mari kita luangkan waktu sejenak untuk mengingat pendekatan sebelumnya
:
Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
Redupkan CacheKey Sebagai String = Url & "-" & Sortir
Redupkan objCache Sebagai System.Web.Caching.Cache = HttpRuntime.Cache
Jika objCache.Item(CacheKey) Tidak Ada Apa-apanya
Redupkan xpDocument Sebagai XPathDocument = XPathDocument Baru (Url, XmlSpace.Preserve)
Redupkan XTran Sebagai XslTransform = XslTransform Baru
XTran.Load(Web.HttpRuntime.AppDomainAppPath & "TransForm.xsl") 'TransForm.xsl
Redupkan sw Sebagai StringWriter = StringWriter Baru
Redupkan xArgList Sebagai XsltArgumentList = XsltArgumentList Baru
xArgList.AddParam("Urutkan", "", Urutkan)
xArgList.AddParam("panjang str", "", strPanjang)
XTran.Transform(xpDocument, xArgList, sw)
objCache.Insert(CacheKey, sw, Nothing, DateTime.Now.AddMinutes(15), TimeSpan.Zero)
Akhiri Jika
MyBase.Text = CType(objCache.Item(CacheKey), StringWriter).ToString
Mengakhiri file konversi SubXSLT
<?xml version="1.0" coding="gb2312"?>
<xsl:lembar gaya
versi = "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" pilih="'10'"></xsl:param>
<xsl:param name="strlength" pilih="'15'"></xsl:param>
<xsl:templat pertandingan="//rss">
<xsl: apply-template pilih = "saluran" />
</xsl:template>
<msxsl:script bahasa="VB" implementasi-prefix="resuls">
<![CDATA[
Fungsi GetSubString(byval origStr Sebagai String, byval endIndex Sebagai Integer) Sebagai String
Redupkan byte As Byte() = System.Text.Encoding.GetEncoding("gb2312").GetBytes(origStr)
Jika endIndex >= bytes.Length Lalu
Kembalikan asalStr
Akhiri Jika
Redupkan subByte(endIndex) Sebagai Byte
Array.Copy(byte, 0, subBytes, 0, endIndex)
Kembalikan System.Text.Encoding.GetEncoding("gb2312").GetString(subBytes) + ""
Fungsi Akhir 'GetSubString
fungsi publik strDate(byval s sebagai string)sebagai string
kembalikan CDate(s).Day.ToString & "Day"
fungsi akhir
]]>
</msxsl:script>
<xsl:template match="saluran">
<tabel lebar = "300" border = "0" cellpacing = "0" cellpadding = "0">
<xsl:untuk setiap pilih="item">
<xsl:if test="posisi() <=$Urutkan">
<tr>
<td width="21"><img src=" http://rss.msnbc.msn.com/id/3032091/device/rss/rss.xml)
Ikat sesuai dengan format keluaran RSS
OKE. Anda sekarang dapat menelusuri efeknya
Saat pergi keluar untuk makan malam di malam hari. Keluarlah dan rasakan musim panas tiba. Oh. Saya suka perasaan musim panas ini. Ambil suasana hati yang baik dan pergi jalan-jalan. Ini juga merupakan suguhan yang luar biasa. akhirnya. Rekomendasikan sebuah lagu: Rasa musim panas.