2017-11-07 2 views
0

Ich habe eine XML-Datei, die einige CDATA mit HTML-Tags hat. Beispiel:Extrahieren Sie Text in HTML-Tags mit XSLT

<TextElement> 
    <Data> 
    <![CDATA[ <h2>My Header Text</h2> ]]> 
    </Data> 
</TextElement> 

Ich muss "My Header Text" ohne das H2-Tag anzeigen können.

Vielen Dank!

+0

Wissen Sie, dass der Inhalt ein einzelnes "h2" -Element mit reinem Textinhalt und ohne untergeordnete Elemente ist? Und welchen XSLT 1-Prozessor verwenden Sie? –

+0

Haben Sie versucht, dies mit xslt zu lösen? Bitte fügen Sie das, was Sie versucht haben, zu Ihrer Frage hinzu. –

+0

@MartinHonnen Ja, der Inhalt wird immer ein einzelnes h2-Tag sein, keine untergeordneten Elemente. Ich verwende Xalan für meinen XSLT-Prozessor. –

Antwort

0

Mit

<xsl:param name="start-tag"><![CDATA[<h2>]]></xsl:param> 
<xsl:param name="end-tag"><![CDATA[</h2>]]></xsl:param> 

und dann einem substring-after(substring-before Kombination

<xsl:template match="Data"> 
    <xsl:value-of select="substring-before(substring-after(., $start-tag), $end-tag)"/> 
</xsl:template> 

tun soll. http://xsltransform.net/naZXpY6.