RSS - XML -> Mit XSL Template auslesen?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Tekknotrip
Mitglied
Beiträge: 205
Registriert: 18.03.2003 16:17
Wohnort: Esslingen
Kontaktdaten:

RSS - XML -> Mit XSL Template auslesen?

Beitrag von Tekknotrip »

Guten Morgen,

wie komme ich hier mit XSL an die windspeed ran?
(also im Sinne von:

Code: Alles auswählen

<xsl:value-of select="@id"/>
)

Code: Alles auswählen

<content:encoded>
<h4><a href="http://www.rssweather.com/hw3.php?icao=EDDS"><img src="http://www.rssweather.com/images/fcicons/mcloudy.gif" alt="mostly cloudy" class="icon" width="55" height="58" id="mcloudy.gif" border="0"/></a><span class="sky">Mostly cloudy</span> <span class="temp">21°C</span></h4><dl style="display: inline;">
<dt style="display: inline; font-weight: bold;">Humidity:</dt><dd id="humidity" style="display: inline;">64%</dd>
<dt style="display: inline; font-weight: bold;">Wind Speed:</dt><dd id="windspeed" style="display: inline;">13 KMH</dd>
<dt style="display: inline; font-weight: bold;">Wind Direction:</dt><dd id="winddir" style="display: inline;">NW (320°)</dd> 
<dt style="display: inline; font-weight: bold;">Barometer:</dt><dd id="pressure" style="display: inline;"> 1012 mb</dd>
<dt style="display: inline; font-weight: bold;">Dewpoint:</dt><dd id="dewpoint" style="display: inline;">14°C</dd>
<dt style="display: inline; font-weight: bold;">Heat Index:</dt><dd id="heatindex" style="display: inline;">21°C</dd>
<dt style="display: inline; font-weight: bold;">Wind Chill:</dt><dd id="windchill" style="display: inline;">21°C</dd>
<dt style="display: inline; font-weight: bold;">Visibility:</dt><dd id="visibility" style="display: inline;">11 km</dd></dl>
</content:encoded>
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Code: Alles auswählen

...dl/dd[@id='windspeed']
Tekknotrip
Mitglied
Beiträge: 205
Registriert: 18.03.2003 16:17
Wohnort: Esslingen
Kontaktdaten:

Beitrag von Tekknotrip »

danke!

Aber noch eine blöde Frage hinterher:

Code: Alles auswählen

<content:encoded>
wie gehe ich damit um?

wenn ich eingebe:

Code: Alles auswählen

<xsl:value-of select="content"/>
dann spuckt er mir gar nichts aus, obwohl er ja eigentlich den ganzen HTML Body ausgeben müsste!? Was mache ich mit dem encoded
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Gute Frage, nächste Frage. Normalerweise sollte es mit "content:encoded" funktionieren, im XPath Explorer tut's das auch, aber als ich das in der xsl Datei getestet habe, war das Ergebnis immer leer (im IE und Mozilla) :-?
Tekknotrip
Mitglied
Beiträge: 205
Registriert: 18.03.2003 16:17
Wohnort: Esslingen
Kontaktdaten:

Beitrag von Tekknotrip »

eben, bei mir ja auch :-(
Tekknotrip
Mitglied
Beiträge: 205
Registriert: 18.03.2003 16:17
Wohnort: Esslingen
Kontaktdaten:

Beitrag von Tekknotrip »

:D :D

Hohoho, habe Die Lösung:

Code: Alles auswählen

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:content="http://purl.org/rss/1.0/modules/content/">
und genauer:

Code: Alles auswählen

xmlns:content="http://purl.org/rss/1.0/modules/content/
das hat im XSL Dokument gefehlt
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Wenn ich mir das ganze nochmal durch den Kopf gehen lasse, klingt's eigentlich logisch. Der XML-Parser identifiziert den Namespace ja nicht anhand des "content", sondern anhand der URL (wenn man xmlns:hallowelt="http://purl.org/rss/1.0/modules/content" und /hallowelt:encoded/... angibt, funktioniert es auch). Und wenn die nicht definiert ist, kann er sie auch nicht finden.
Antworten

Zurück zu „Coding & Technik“