..
I en tidligere artikkel så vi hvor lett det er å transformere XML med XSL i ASP.NET , dette systemet imidlertid ikke transformere en RSS-feed , siden XML-fil, i dette tilfellet, er ikke på samme server kjøre skriptet, men på en ekstern server.
Så la oss se hvordan du leser en RSS feed med ASP.NET, ved hjelp av XSL transformasjon til å kjøre og styre formateringen av den endelige utgang til video.
Før han flyttet til ASP.NET koden for å bruke (som vil benytte navnerom System.IO, System.Xml og System.Xml.Xsl) tar vi en titt på XSL-kode som vil være i filen feed.xsl og plasseres i samme mappe som finner du ASP.NET filen som vil kjøre skriptet:
<? 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 av <i> <xsl:value-of select="author" /> på <xsl:value-of select="pubDate" /> </ i>
</ P>
</ Xsl: for-each>
</ Xsl: template>
</ Xsl: stylesheet>
La oss gå deretter å trekke fra den noden som inneholder nyheter - eller "rss / kanal / item" - feltene tittel, beskrivelse, forfatter og pubDate som inneholder henholdsvis data for tittel, beskrivelse, forfatter og datoen da nyheten ble skrevet.
Flytt på å skrive ASP.NET kode som bruker XmlDocument og XslTransform klasser, slik at objekter StringBuilder og StringWriter.
Her er hele koden:
<% @ Page Language = "VB"%>
<% @ Import Navnerom = "System.IO"%>
<% @ Import Navnerom = "System.Xml"%>
<% @ Import Navnerom = "System.Xml.Xsl"%>
<script language="VB" runat=server>
Sub Page_Load (avsender Som Object, e Som EventArgs)
Dim Som XmlDocument = Nye XmlDocument CaricaXML ()
CaricaXML.Load ("/rss/news.xml")
Dim Som XslTransform = Nye XslTransform CaricaXSL ()
CaricaXSL.Load (Server.MapPath ("feed.xsl"))
Dim sb Som StringBuilder = Nye StringBuilder ()
Dim sw Som StringWriter = Nye StringWriter (sb)
CaricaXSL.Transform (CaricaXML, Ingenting, sw)
risultato.Text = sb.ToString ()
End Sub
</ Script>
<html>
<head>
<title> Les 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 hente ekstern RSS feeds (for eksempel, valgte vi en av de RSS christiane-lecomte.com ) lasten og deretter laste XSL dokument som vil, som nevnt ovenfor, formateringen.
Vi utfører transformasjonen og skrive ut resultatet som en tag tekst er gjort tilgjengelig av serveren side. NET Framework.
| |
ASP (Advanced)
Full kurs for å lage dynamiske nettsider. Fra € 39. |
| |
ASP.NET (Course)
Full kurs for å bygge web-applikasjoner fra 49 €. |
| |
SQL og Database (Course)
Opprette og administrere relasjonsdatabaser. Fra € 39. |