记得之前老有人在论坛上问:到底RSS News模块如何使用,为啥总有一些Html的Tags呈现在页面,使得页面极为不美观,也不和谐,在这之前先要明白RSS其实是XML格式文件,具有自己element(即相对应的节点),类似下图:

RSS News Module的应用<?xml version="1.0" encoding="iso-8859-1"?>
RSS News Module的应用
<rss version="2.0">
RSS News Module的应用  
<channel>
RSS News Module的应用    
<title>Moreover Technologies - Human resources news - of 1054 returned</title>
RSS News Module的应用    
<link>http://www.moreover.com/rss</link>
RSS News Module的应用    
<description>Moreover Technologies - Human resources news - More than 340 categories of real-time RSS news feeds.</description>
RSS News Module的应用    
<language>en-us</language>
RSS News Module的应用    
<image>
RSS News Module的应用      
<title>Moreover Technologies</title>
RSS News Module的应用      
<url>http://i.moreover.com/pics/rss.gif</url>
RSS News Module的应用      
<link>http://www.moreover.com/rss</link>
RSS News Module的应用      
<width>144</width>
RSS News Module的应用      
<height>16</height>
RSS News Module的应用      
<description>Moreover Technologies - Real-time RSS news feeds harvested from more than 11,000 sourcesRSS News Module的应用</description>
RSS News Module的应用    
</image>
RSS News Module的应用    
<item>
RSS News Module的应用      
<title>Defining the heart of international relocation training (part II) </title>
RSS News Module的应用      
<link>http://c.moreover.com/click/here.pl?r472994608</link>
RSS News Module的应用      
<description>The greatest source of growth for most organisations is international, and therefore dollars spent on training for international success go farther than training dollars spent on anything else.</description>
RSS News Module的应用      
<guid>http://c.moreover.com/click/here.pl?r472994608</guid>
RSS News Module的应用      
<pubDate>Thu, 23 Feb 2006 22:20:00 GMT</pubDate>
RSS News Module的应用      
<source url="http://p.moreover.com/page?s=Expatica%20HR&amp;o=rss002">Expatica HR</source>
RSS News Module的应用    
</item>
RSS News Module的应用RSS News Module的应用RSS News Module的应用.
RSS News Module的应用  
</channel>
RSS News Module的应用
</rss>


而所以出现提到的问题是由于RSS News Module默认使用自带的News Feed Style Sheet(似乎可以翻译为样式单,但觉得有些别扭,所以就直接用英文了)的缘故RSS91.xsl,其源代码如下:

RSS News Module的应用<?xml version="1.0"?>
RSS News Module的应用
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
RSS News Module的应用
<xsl:output method="html" indent="yes"/>
RSS News Module的应用
<xsl:param name="TITLE"/>
RSS News Module的应用
RSS News Module的应用
<xsl:template match="rss">
RSS News Module的应用  
<!-- Do not show channel image -->
RSS News Module的应用  
<xsl:for-each select="channel/item">
RSS News Module的应用    
<br>
RSS News Module的应用
RSS News Module的应用    
<strong><href="{link}" target="_main"><xsl:value-of select="title"/></a></strong><br></br>
RSS News Module的应用
RSS News Module的应用    
<!-- only display markup for description if it's present -->
RSS News Module的应用    
<xsl:value-of select="description"/>
RSS News Module的应用
RSS News Module的应用    
</br>
RSS News Module的应用    
<br></br>
RSS News Module的应用  
</xsl:for-each>
RSS News Module的应用
</xsl:template>
RSS News Module的应用
RSS News Module的应用
<xsl:template match="description">
RSS News Module的应用  
<br>
RSS News Module的应用    
<xsl:value-of select="."/>
RSS News Module的应用  
</br>
RSS News Module的应用
</xsl:template>
RSS News Module的应用
RSS News Module的应用
</xsl:stylesheet>
RSS News Module的应用
RSS News Module的应用

仔细一看你会发现该style sheet是对应 RSS的版本是1.0(<xsl:stylesheet version="1.0".....),如果你所填入的RSS Source是RSS 2.0的话,所最终呈现的就不是格式化的RSS,其中有些RSS Source对应的XML文件的内容就可能是混乱的,而其实XSL转换文件即News Feed Style Sheet就是解决之道,只是这是我们需要修改默认的RSS91.xsl,你可以复制该全部内容到新文件里,然后命名为新的XSL转换文件(后缀.xsl),继而通过上传到DNN,如下图:
RSS News Module的应用
1)    点击 Upload New File
2)    上传新的XSL文件
3)    更新
下边来谈论具体该如何修改默认的XSl文件,最简单的办法就是允许出现Html格式的内容,即将原来的
    
    <xsl:value-of select="description"/>
变为:

<xsl:value-of disable-output-escaping="yes" select="description"/>

这样就可以正确呈现带有Html Tags的RSS文件内容。
更多的就是你还可以决定你需要呈现那些内容,比如你希望有日期,那你可以加入一个element:

<xsl:value-of select="pubDate"/>

在此增加一个类似的XSL文件作为参考:

RSS News Module的应用<?xml version="1.0"?>
RSS News Module的应用
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
RSS News Module的应用
<xsl:output method="html" indent="yes"/>
RSS News Module的应用
RSS News Module的应用
<xsl:template match="rss/channel"> 
RSS News Module的应用
<xsl:variable name="link" select="link"/>
RSS News Module的应用  
<xsl:variable name="description" select="description"/>
RSS News Module的应用  
<xsl:variable name="image" select="image/url"/>
RSS News Module的应用  
<xsl:variable name="idesc" select="image/description"/>
RSS News Module的应用  
<xsl:variable name="ilink" select="image/link"/>
RSS News Module的应用  
<xsl:variable name="iwide" select="image/width"/>
RSS News Module的应用  
<xsl:variable name="ihigh" select="image/height"/>
RSS News Module的应用
<div class="head">
RSS News Module的应用 
<xsl:if test="$image">
RSS News Module的应用    
<href="{$ilink}" title="{$idesc}"><xsl:value-of select="ilink" /></a>
RSS News Module的应用    
<img src="{$image}" height="{$ihigh}" width="{$iwide}" style="float: left; margin: 2px; border: 0px;"/>
RSS News Module的应用 
</xsl:if> 
RSS News Module的应用 
<font size="-2"><xsl:value-of select="description"/><br/>
RSS News Module的应用     
<href="{$link}"><xsl:value-of select="title" /></a><br/>
RSS News Module的应用 
<xsl:value-of select="webMaster"/><br/>
RSS News Module的应用 
<xsl:value-of select="copyright"/></font>
RSS News Module的应用 
<hr/>
RSS News Module的应用
</div>
RSS News Module的应用  
<xsl:apply-templates select="item"/>
RSS News Module的应用
</xsl:template>
RSS News Module的应用
RSS News Module的应用
<xsl:template match="item">
RSS News Module的应用  
<xsl:variable name="item_link" select="link"/>
RSS News Module的应用  
<xsl:variable name="item_title" select="description"/>
RSS News Module的应用  
<div class="subHead" style="width:500px;">
RSS News Module的应用    
<href="{$item_link}"><xsl:value-of select="title" disable-output-escaping="yes"/></a></div>
RSS News Module的应用    
<div style="width:500px;">
RSS News Module的应用 
<xsl:value-of select="description" disable-output-escaping="yes"/><br/></div>
RSS News Module的应用
RSS News Module的应用 (
<xsl:value-of select="pubDate"/>)<br/> <hr/>
RSS News Module的应用 
</xsl:template>
RSS News Module的应用
RSS News Module的应用
</xsl:stylesheet>


 

相关文章:

  • 2021-09-12
  • 2022-12-23
  • 2022-12-23
  • 2021-11-25
  • 2021-08-31
  • 2021-09-30
  • 2021-11-28
  • 2021-08-08
猜你喜欢
  • 2021-06-23
  • 2021-06-26
  • 2022-01-15
  • 2021-08-20
  • 2022-12-23
  • 2021-09-14
  • 2021-11-27
相关资源
相似解决方案