Используйте XSL, чтобы сохранить только первый абзац поля RSS <description> - PullRequest
1 голос
/ 24 августа 2010

Я пытаюсь работать с этим RSS-потоком .

Я хотел бы использовать XSL, чтобы сохранить только первый абзац поля описания.Я читал о том, как нацеливаться только на определенные дочерние элементы структуры XML, но я думаю, потому что теги абзаца в ленте RSS добавляются как <и> они, кажется, не работают при выполнении чего-то подобного:

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

В идеале я хотел бы выделить только текст между тегами абзаца и полностью отбросить их.

Любая помощь будет очень полезна.

1 Ответ

1 голос
/ 24 августа 2010

Используйте это преобразование :

<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>
...