私は基本的なRSSフィードを持っていますが、説明の中にイメージがあります。 XSLTを使用してimg srcを選択する方法はありますか?Image SrcをXMLから選択する
<description>
<![CDATA[
<img src="http://www.sitename.com/news/wp-content/uploads/2010/12/MyImage31-150x150.jpg"/>
Content is here.
]]>
</description>
私は基本的なRSSフィードを持っていますが、説明の中にイメージがあります。 XSLTを使用してimg srcを選択する方法はありますか?Image SrcをXMLから選択する
<description>
<![CDATA[
<img src="http://www.sitename.com/news/wp-content/uploads/2010/12/MyImage31-150x150.jpg"/>
Content is here.
]]>
</description>
これは完全な回答ではありませんが、コメントとしては長すぎます。 (各記述は一つだけimg
が含まれている場合はそれ以外の場合は、あなたが別のテンプレートを作ることができ、すべてのimg
Sを選択するために、再帰的に呼び出す。)以下は、与えられた例からURLを選択:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/description/text()">
<xsl:value-of
select="substring-before(substring-after(., '<img src="'), '"/>')"
disable-output-escaping="yes"/>
</xsl:template>
</xsl:stylesheet>
私は方法があると思います文字列からノードセットを作成する(しかし、私はそれについていくつかの調査を行うことができます)ので、<img .../>
からノードセットを作成し、src
属性値を取得することができます。
私は、この種の質問は、 "(X)HTMLをRegExpで解析しないでください"と答えてくれるはずです... –
入力サンプルに 'src'属性を持つ' image'要素はありません。 CDATAセクションは解析されていないテキストです。パース可能なデータとして解析されていないデータを使用しないようにしてください。 –