تذكر من قبل؟ اعتدت أن أكتب عنصر واجهة مستخدم على الصفحة للاتصال بالمحتوى المحدد (عنوان إخراج 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) لا شيء إذن
تعتيم xpDocument كـ 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 = 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 ملف التحويل
<?xml version="1.0" encoding="gb2312"?>
<xsl:ورقة الأنماط
الإصدار = "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="فرز" حدد="'10'"></xsl:param>
<xsl:param name="strlength" حدد="'15'"></xsl:param>
<xsl:تطابق القالب="//rss">
<xsl:apply-templates حدد = "القناة" />
</xsl:template>
<msxsl:script language="VB" Implements-prefix="resuls">
<![CDATA[
الدالة GetSubString (byval origStr كسلسلة، byval endIndex كعدد صحيح) كسلسلة
البايتات الخافتة كـ Byte() = System.Text.Encoding.GetEncoding("gb2312").GetBytes(origStr)
إذا كان endIndex >= bytes.Length إذن
إرجاع الأصل
نهاية إذا
تعتيم البايتات الفرعية (endIndex) كـ بايت
Array.Copy (بايت، 0، بايتات فرعية، 0، endIndex)
إرجاع System.Text.Encoding.GetEncoding("gb2312").GetString(subBytes) + ""
وظيفة النهاية 'GetSubString
الوظيفة العامة strDate(byval s as string) كسلسلة
إرجاع CDate(s).Day.ToString & "Day"
وظيفة النهاية
]]>
</msxsl:script>
<xsl:template match="channel">
<عرض الجدول = "300" الحدود = "0" تباعد الخلايا = "0" خلية الحشو = "0">
<xsl:for-each حدد = "item">
<xsl:if test="position() <=$Sort">
<تر>
<td width="21"><img src=" http://rss.msnbc.msn.com/id/3032091/device/rss/rss.xml)
ربط وفقا لتنسيق إخراج RSS
نعم. يمكنك الآن تصفح التأثيرات
عند الخروج لتناول العشاء في المساء. اخرج للخارج واشعر بقدوم الصيف. أوه. أنا أحب هذا الشعور بالصيف. خذ مزاجًا جيدًا واخرج في نزهة على الأقدام. إنها أيضًا متعة رائعة. أخيرا. يوصي بأغنية: طعم الصيف.