使用XSL仅保留RSS <description>字段</description>的第一段

时间:2010-08-24 17:09:50

标签: xslt xhtml rss

我正在尝试使用此RSS feed

我想使用XSL只保留description字段的第一段。我已经阅读了如何仅定位XML结构的某些子项,但我认为因为RSS源中的段落标记被添加为&amp; lt和&amp; gt,它们在执行以下操作时似乎不起作用:

<xsl:value-of select="description/p[position() = 1]" disable-output-escaping="yes"/>

理想情况下,我只想选择段落标签之间的文字并完全丢弃它们。

真的很感激任何帮助。

1 个答案:

答案 0 :(得分:1)

使用此转换

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes"/>

 <xsl:template match="/*/channel/item/description">
  <xsl:value-of select=
  "substring-before(substring-after(., '&lt;P&gt;'), '&lt;/P&gt;')
  "/>
  <xsl:text>&#xA;</xsl:text>
 </xsl:template>
</xsl:stylesheet>