..
Într-un articol anterior am văzut cât de uşor este de a transforma XML cu XSL în ASP.NET , acest sistem, cu toate acestea, nu transforma o feed RSS , din moment ce fişierul XML, în acest caz, nu este pe acelasi server rula script-ul, dar pe un server de la distanţă.
Deci, haideti sa vedem cum pentru a citi un feed RSS cu ASP.NET, folosind XSL de transformare pentru a rula şi de a gestiona formatarea rezultatului final la video.
Înainte de a se muta la ASP.NET de a folosi codul (care va folosi spaţiile de nume System.IO, System.Xml şi System.Xml.Xsl) vom lua o privire la codul XSL care vor fi conţinute în feed.xsl fişier şi plasat în acelaşi folder ca veţi găsi fişierul ASP.NET care va rula script-ul:
<Xml version = "1.0" encoding = "ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" />
<xsl:template match="/">
<xsl:for-each select="rss/channel/item">
<p>
<a href="{link}"> <b> <xsl:value-of select="title" /> </ b> </ a> <br />
<xsl:value-of select="description" /> <br />
Scris de <i> <xsl:value-of select="author" /> pe <xsl:value-of select="pubDate" /> </ i>
</ P>
</ Xsl: pentru fiecare->
</ Xsl: template>
</ Xsl: stylesheet>
Să mergem, apoi pentru a extrage de la nodul care conţine ştiri - sau "RSS / canal / postul" - titlul domeniile, descriere, autor, şi pubDate care conţin, respectiv, datele pentru titlu, descriere, autor şi data la care a fost scris de ştiri.
Mutare pe ASP.NET pentru a scrie cod care utilizează clasele XmlDocument şi XslTransform, aşa StringBuilder obiecte şi StringWriter.
Aici este codul complet:
<% @ Page Language = "VB"%>
<% @ Import Namespace = "System.IO"%>
<% @ Import Namespace = "System.Xml"%>
<% @ Import Namespace = "System.Xml.Xsl"%>
<script language="VB" runat=server>
Sub Page_Load (expeditor ca obiect, cum e EventArgs)
Dim Ca XmlDocument = CaricaXML XmlDocument nou ()
CaricaXML.Load ("/rss/news.xml")
Dim Ca XslTransform = New XslTransform CaricaXSL ()
CaricaXSL.Load (Server.MapPath ("feed.xsl"))
Dim sb cum StringBuilder = New StringBuilder ()
Dim SW Ca StringWriter = StringWriter Nou (SB)
CaricaXSL.Transform (CaricaXML, Nimic, sw)
risultato.Text = sb.ToString ()
End Sub
</ Script>
<html>
<head>
Citeşte <title> un Feed RSS folosind ASP.NET si XSL </ title>
</ Head>
<body>
id = "modulo" <form runat="server">
<asp:literal id="risultato" runat="server" />
</ Form>
</ BODY>
</ HTML>
După ce a prelua de la distanţă fluxuri RSS (de exemplu, am ales una dintre cele Feed RSS Feed ecuries-du-fourneau.com ) de încărcare şi apoi încărcaţi documentul XSL care vor, astfel cum sa menţionat mai sus, formatarea.
Noi efectuăm de transformare şi de imprimare rezultatele ca un text tag-ul pus la dispoziţie de partea de server. NET Framework.
| |
ASP (avansat)
Ciclu complet pentru crearea de site-uri Web dinamice. De la 39 €. |
| |
ASP.NET (Curs)
Ciclu complet pentru construirea de aplicatii Web de la 49 €. |
| |
SQL si baze de date (Curs)
Crearea şi gestionarea bazelor de date relaţionale. De la 39 €. |