DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren


   Autor: Hannes Preishuber Artikel Drucken
        
RDF Feeds mit Hilfe von XMLDatasource anzeigen

RDF ist eine Möglichkeit Daten im XML Format zu erstellen. Dieses ist ähnlich dem RSS Format. Soweit in beiden Fällen überhaupt von Formaten sprechen kann. Bei RDF werden XML Namensräume verwendet um zb das Root Element mit rdf:RDF zu kennzeichnen.

 

Das Problem ist, dass das XMLDatasource Steuerelement mit Namensräumen zumindest in der XPath Deklaration nicht umgehen kann. Wenn man auf diese eine RDF Feed in seine ASPX Seiten einbinden will, ist das Ergebnis leer.

Wenn man mit XMlDom Objekten arbeitet kann man den XmlNamespaceManager einbinden. Aber auch das nicht bei XMLDatasource.

Meine Idee ist nun mit einer XSLT Datei die RDF ( und damit XML Daten ) einfach in ein RSS Format zu transformieren.

<?xml version="1.0" encoding="utf-8"?>
<
xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<
xsl:template match="/">
<rss>
<
xsl:for-each select="/*/*[name()='item']">
<
item>
<
title> <xsl:value-of select="child::*[name()='title']"/></title>
</
item>
</
xsl:for-each>
</
rss></xsl:template>
</
xsl:stylesheet>

Dies ist nur für das Titel Element implementiert, lässt sich aber für [link] ect fortführen. Nun kann man in fast gewohnter Form den Feed in die Seite einbinden. Wichtig ist das Atrribut Transformfile zu setzen und dann auch mit der RSS Struktur zu arbeiten. Also die Auswahlliste mit Xpath auf rss/item zu setzen.

<asp:XmlDataSource DataFile="http://www.kino.de/rss.php4?typ=movienews" ID="XmlDataSource1" runat="server" XPath="rss/item" TransformFile="convertrdf.xsl" CacheDuration="600" EnableCaching="true">
</
asp:XmlDataSource>
<
asp:datalist id="DataList1" runat="server" datasourceid="XmlDataSource1">
<
itemtemplate>
<%#XPath("title") %><br />
</
itemtemplate>
</
asp:datalist>

 

 


DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine verknüpften Dokumente
    Keine Links vorhanden

  Erfasst am: 18.05.2006
  Gültig bis: 16.08.2006
1 Ratings
Bewertung: 100,0%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG