2010-12-07 14 views
0

私は基本的な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> 
+0

私は、この種の質問は、 "(X)HTMLをRegExpで解析しないでください"と答えてくれるはずです... –

+0

入力サンプルに 'src'属性を持つ' image'要素はありません。 CDATAセクションは解析されていないテキストです。パース可能なデータとして解析されていないデータを使用しないようにしてください。 –

答えて

0

これは完全な回答ではありませんが、コメントとしては長すぎます。 (各記述は一つだけ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(., '&lt;img src=&quot;'), '&quot;/>')" 
      disable-output-escaping="yes"/> 
    </xsl:template> 
</xsl:stylesheet> 

私は方法があると思います文字列からノードセットを作成する(しかし、私はそれについていくつかの調査を行うことができます)ので、<img .../>からノードセットを作成し、src属性値を取得することができます。

+0

これを拡張することができます。私はこれをどうやって行うのか分からない。 – Chad

+0

NM私はそれを得た。ありがとうございました! – Chad

+0

あなたは次のように書いています:*文字列からノードセットを作る方法があると思います*。はい、パーサーと呼ばれます。 'node-set()'拡張関数は、結果ツリーフラグメントでのみ機能します。 DOEのメカニズムは役に立ちません。テキストノードを含むRTFは、テキストノードのシングルトンノードセットに変換され、解析されません。 –

関連する問題