..
I en tidligere artikel, vi så, hvor nemt det er at transformere XML med XSL i ASP.NET , dette system, dog ikke ændre et RSS feed , da XML-filen, i dette tilfælde, er ikke på samme server køre scriptet, men på en ekstern server.
Så lad os se, hvordan man kan læse et RSS-feed med ASP.NET, ved hjælp af XSL- transformation til at køre og styre formateringen af det endelige output til video.
Før vi går til ASP.NET kode du skal bruge (som vil bruge namespaces System.IO, System.Xml og System.Xml.Xsl) tager vi et kig på XSL-koden, som vil være indeholdt i filen feed.xsl og placeret i samme mappe som finder du ASP.NET-fil, som vil køre scriptet:
<? 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 />
Skrevet af <i> <xsl:value-of select="author" /> på <xsl:value-of select="pubDate" /> </ i>
</ P>
</ Xsl: for-alle>
</ Xsl: template>
</ Xsl: stylesheet>
Lad os gå derefter til uddrag af den knude, der indeholder nyheder - eller "RSS / kanal / item" - felterne titel, beskrivelse, forfatter og pubDate som indeholder henholdsvis data for titel, beskrivelse, forfatter og dato, hvor nyheden blev skrevet.
Flyt på at skrive ASP.NET-kode, der bruger XmlDocument og XslTransform klasser, så objekter StringBuilder og StringWriter.
Her er hele koden:
<% @ Page Language = "VB"%>
<% @ Import Namespace = "System.IO"%>
<% @ Import Namespace = "System.Xml"%>
<% @ Import Namespace = "System.Xml.Xsl"%>
<script language="VB" runat=server>
Sub Page_Load (afsender As Object, E som EventArgs)
Dim Som XmlDocument = New XmlDocument CaricaXML ()
CaricaXML.Load ("/rss/news.xml")
Dim Som XslTransform = Ny XslTransform CaricaXSL ()
CaricaXSL.Load (Server.MapPath ("feed.xsl"))
Dim sb Som StringBuilder = Ny StringBuilder ()
Dim sw Som StringWriter = Ny StringWriter (SB)
CaricaXSL.Transform (CaricaXML, intet, sw)
risultato.Text = sb.ToString ()
End Sub
</ Script>
<html>
<head>
<title> Læs en RSS Feed med ASP.NET og XSL </ title>
</ Head>
<body>
id = "modulo" <form runat="server">
<asp:literal id="risultato" runat="server" />
</ Form>
</ Body>
</ HTML>
Når du henter den eksterne RSS-feeds (for eksempel, valgte vi en af de RSS Feed compagnie-awama.com ) belastningen og derefter indlæse XSL dokument, der vil, som nævnt ovenfor, formateringen.
Vi udfører transformationen og udskrive resultaterne som et tag tekst stilles til rådighed af server side. NET Framework.
| |
ASP (Advanced)
Fuld kursus for at skabe dynamiske web-sites. Fra 39 €. |
| |
ASP.NET (Kursus)
Fuld kursus for bygge web-applikationer fra 49 €. |
| |
SQL-og Database (Kursus)
Oprette og administrere relationelle databaser. Fra 39 €. |