2010-12-13 11 views
-1

Plsのいずれかが 'IMG' をCONCATために私を助け、XSLTXSLT concat問題?

で "<" または ">" 兆し "がImg>" やコメントから "<Img"

更新見ている:

<Content><![CDATA[<P>dfsfdsfdsfdsfdsfdsfsd</P> 
        <P><IMG alt="" hspace=0 
          src="../../Repository.aspx?uri=4343" 
          border=0></P> 
        <P>fdsfsdfsdfsdf</P> 
        <P>fdsfd</P>]]></Content> 

これはxmlであり、imgタグなしでテキストを取得したいと考えています。

私のXSLTコードは、ちょうどこのようなものです:あなたが<img/>タグを生成したい場合は、<xsl:element name="img"/>を使用

<xsl:param name="text" select="."/> 
<xsl:if test=". != ''"> 
    <xsl:choose> 
    <xsl:when test="contains($text, 'IMG')"> 
    <xsl:value-of select="substring-before($text,'IMG')" 
        disable-output-escaping="yes"/> 
    <xsl:value-of select="substring-after($text,'border=0')" 
        disable-output-escaping="yes"/> 
    </xsl:when> 
    <xsl:otherwise> 
    <xsl:value-of select="." disable-output-escaping="yes"/> 
    </xsl:otherwise> 
    </xsl:choose> 
</xsl:if> 
+2

短縮XML入力と所望の出力を提供してください。したがって、はるかに速く網羅的な答えを得ることができます。 – Flack

+0

**これはFAQです**:CDATAセクションの内容は**未解析のテキストです**。したがって、 'IMG'要素はありません。 **解析されていないデータが解析されたデータのように振る舞うことは決してありません。** –

答えて

0

。例えば:

<xsl:element name="img"> 
    <xsl:attribute name="src"> 
    <xsl:value-of select="$the_image_url"/> 
    </xsl:attribute> 
</xsl:element> 
+1

xml-html変換では、これはむしろ冗長です。 ははるかにクリーンです。 – Flack

+0

@Flack:+1。タグ名がわかっていて、その属性が変数にある場合は、それはもっと短いオプションです(該当する場合)。 –

+0

迅速な回答をお寄せいただきありがとうございますが、私の問題は

fdsfd

]]> \t \t \t \tこれがXMLであるとfdsfsdfsdfsdf

をdfsfdsfdsfdsfdsfdsfsd \t \t \t あなたの答えには適していません私はimgタグなしのテキストを取得したいですか? – DDPerera

2
<xsl:value-of select="substring-before($text, '&lt;IMG')" /> 
+0

ありがとう、machooo!私は以前これを試してみましたが、仕事はしませんでした。imgと<どうもありがとうございました。 – DDPerera