..
En un article anterior vam veure el fàcil que és per a transformar XML amb XSL en ASP.NET , aquest sistema, però, no transforma un feed RSS , ja que l'arxiu XML, en aquest cas, no és en el mateix servidor executar l'script, però en un servidor remot.
Així que anem a veure com llegir una font RSS amb ASP.NET, utilitzant XSL de transformació per executar i administrar el format de la sortida final a la pantalla.
Abans de passar a codi de ASP.NET per a l'ús (que explotarà els espais de noms System.IO, System.Xml i System.Xml.Xsl) donen un ull al codi XSL que s'inclourà en l'arxiu feed.xsl i es col · loca en la mateixa carpeta on es troba l'arxiu de ASP.NET que s'executa l'script:
<? 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 />
Escrit per <i> <xsl:value-of select="author" /> en <xsl:value-of select="pubDate" /> </ i>
</ P>
</ Xsl: for-each>
</ Xsl: template>
</ Xsl: stylesheet>
Anem, doncs, per extreure des del node que conté les notícies - o "rss / channel / item" - el títol dels camps, descripció, autor, i pubdate que contenen, respectivament, les dades per al títol, descripció, autor i data en què la notícia va ser escrit.
Passar a escriure el codi ASP.NET que utilitzi les classes document XML, XMLDocument i XslTransform, llavors els objectes StringBuilder i StringWriter.
Aquí està el codi 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 (sender As Object, i As EventArgs)
As document XML, XMLDocument = CaricaXML Nova document XML, XMLDocument ()
CaricaXML.Load ("/rss/news.xml")
As XslTransform = CaricaXSL New XslTransform ()
CaricaXSL.Load (Server.MapPath ("feed.xsl"))
Dim sb com StringBuilder StringBuilder = nou ()
Dim sw Com StringWriter = StringWriter Nova (sb)
CaricaXSL.Transform (CaricaXML, Res, sw)
sb.ToString risultato.Text = ()
End Sub
</ Script>
<html>
<head>
<title> llegir una font RSS amb ASP.NET i XSL </ title>
</ Head>
<body>
id = "mòdul" <form runat="server">
runat = "server" <asp:literal id="risultato" />
</ Form>
</ Body>
</ HTML>
Un cop recuperat el control remot feeds RSS (per exemple, hem triat una de les centre-equestre-sarremas.com RSS Feed ) la càrrega i després carregar el document XSL que, com es va esmentar anteriorment, el format.
Portem a terme la transformació i imprimir els resultats com una etiqueta de text posat a disposició pel costat del servidor. NET Framework.
| |
ASP (Advanced)
Cicle complet per a la creació de llocs web dinàmics. A partir de 39 €. |
| |
ASP.NET (Curs)
Curs complet per construir aplicacions web a partir de 49 €. |
| |
SQL i bases de dades (curs)
Creació i gestió de bases de dades relacionals. A partir de 39 €. |