..
En un artículo anterior vimos lo fácil que es para transformar XML con XSL en ASP.NET , este sistema, sin embargo, no transforma un feed RSS , ya que el archivo XML, en este caso, no es en el mismo servidor ejecutar el script, pero en un servidor remoto.
Así que vamos a ver cómo leer una fuente RSS con ASP.NET, utilizando XSL transformación para ejecutar y administrar el formato de la salida final de video.
Antes de pasar a código de ASP.NET para utilizar (que se utilizan los espacios de nombres System.IO, System.Xml y System.Xml.Xsl) nos fijamos en el código XSL que se incluirá en el archivo feed.xsl y se coloca en la misma carpeta que se encuentra el archivo de ASP.NET que se ejecuta el 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 />
Escrito por <i> <xsl:value-of select="author" /> en <xsl:value-of select="pubDate" /> </ i>
</ P>
</ Xsl: for-each>
</ Xsl: template>
</ Xsl: stylesheet>
Vayamos, pues, para extraer desde el nodo que contiene la noticia - o "rss / channel / item" - el título de los campos, descripción, autor, y pubDate que contienen, respectivamente, los datos para el título, descripción, autor y fecha en que la noticia fue escrito.
Pasar a escribir el código ASP.NET que utilice las clases XmlDocument y XslTransform, por lo que StringBuilder objetos y StringWriter.
Aquí está el código completo:
<% @ 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, e As EventArgs)
As XmlDocument = CaricaXML Nueva XmlDocument ()
CaricaXML.Load ("/rss/news.xml")
As XslTransform = CaricaXSL New XslTransform ()
CaricaXSL.Load (Server.MapPath ("feed.xsl"))
Dim sb como StringBuilder StringBuilder = nuevo ()
Dim sw Como StringWriter = StringWriter Nueva (sb)
CaricaXSL.Transform (CaricaXML, Nada, sw)
risultato.Text sb.ToString = ()
End Sub
</ Script>
<html>
<head>
<title> leer una fuente RSS con ASP.NET y XSL </ title>
</ Head>
<body>
id = "modulo" <form runat="server">
runat="server" <asp:literal id="risultato" />
</ Form>
</ Body>
</ HTML>
Una vez que recuperar el control remoto feeds RSS (por ejemplo, hemos elegido una de las cesarogcaleb.com RSS ) la carga y luego cargar el documento XSL que, como se mencionó anteriormente, el formato.
Llevamos a cabo la transformación e imprimir los resultados como una etiqueta de texto puestos a disposición por el lado del servidor. NET Framework.
| |
ASP (Advanced)
Ciclo completo para la creación de sitios Web dinámicos. A partir de 39 €. |
| |
ASP.NET (Curso)
Ciclo completo para la creación de aplicaciones Web y un 15% de descuento hasta el 14/09/2011. |
| |
SQL y bases de datos (Curso)
Crear y gestionar bases de datos relacionales. A partir de 39 €. |