문제

I have this xml

<entry id="1008" section="articles">
    <excerpt><p>&#8230; in Richtung „Aus“ für Tierversuche. Kosmetik-Fertigprodukte dürfen bereits seit 2004 nicht mehr im Tierversuch ge<strong>test</strong>et werden. Trotzdem litten Tiere weiterhin für die Schönheit. Mit einer im März 2009 in Kraft getretenen Regelung&#8230; Riegel vor:
EU-weit dürfen keine Kosmetika mehr vermarktet werden, die Inhaltsstoffe enthalten, die im Tierversuch ge<strong>test</strong>et wurden. Das ist ein Grund, sich zu freuen. Gesiegt hat der Tierschutz aber noch nicht, denn der Teufel steckt im&#8230;</p></excerpt>
</entry>
<entry id="110" section="products-categories">
    <excerpt><p>Zahnpflege Die SANTE Dental med Zahncremes pflegen und schützen die Zähne und Zahnfleisch zugleich: mit einem klinisch ge<strong>test</strong>eten Wirkstoffkomplex aus Salbei, Bio-Grüntee- Extrakt und Xylitol. Die natürlichen Putzkörper aus echter Kreide&#8230;</p></excerpt>
</entry>

and I want to display it with the HTML in tact.
Currently my HTML shows up without any of the HTML from my XML.

I have used both

<xsl:value-of select="excerpt" disable-output-escaping="yes" />

and

<xsl:value-of select="excerpt" />

help ! :(

도움이 되었습니까?

해결책

Try

<xsl:copy-of select="excerpt/node()"/>

the xsl:value-of instruction copies the text content, dropping all the element markup. You can't get it back using disable-output-escaping, which does something quite different.

다른 팁

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" indent="yes"/>

    <xsl:template match="@* | node()">
        <xsl:copy>
            <xsl:apply-templates select="@* | node()"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="/">
      <xsl:apply-templates select="root/entry/excerpt/*"/>
    </xsl:template>

</xsl:stylesheet>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top