Nehmen Sie dieses XML.Gibt es eine Möglichkeit, cdata-Abschnitte eines XML-Dokuments mit einer XSL-Vorlage zu transformieren?
Gibt es eine Möglichkeit für mich, um den Inhalt des CDATA-Abschnitts mit XSLT zu transformieren?
Nehmen Sie dieses XML.Gibt es eine Möglichkeit, cdata-Abschnitte eines XML-Dokuments mit einer XSL-Vorlage zu transformieren?
Gibt es eine Möglichkeit für mich, um den Inhalt des CDATA-Abschnitts mit XSLT zu transformieren?
XSLT behandelt CDATA-Abschnitte als normalen Text, sodass Sie sie wie Textknoten behandeln können. Beachten Sie, dass XSLT die CDATA-Abschnitte nicht getrennt vom umgebenden Text behält. foo
<foo>bar <![CDATA[baz]]> qux</foo>
Der Quellbaum
Lesen Sie diesen Artikel - CDATA Sections
Zusammenfassung: Innerhalb von XSLT-Stylesheet, der Abschnitt CDATA ist rein ein Dienstprogramm Sie zu stoppen alle die ‚<‘ usw. Das Ziel zu entkommen, die Sie Ziel ist für das Kopieren von etwas, das Sie haben in Ihrer XML-Quelle direkt in Ihre HTML-Ausgabe. Das xsl: copy-of-Element ist genau für diesen Zweck konzipiert Zweck. xsl: copy-of gibt eine genaue Kopie von dem, was Sie auswählen, einschließlich Attribute und Inhalt.
XML-Dokument.
<?xml version="1.0" encoding="iso-8859-1"?>
<know>
<title/>
<topic title="" href="">
<![CDATA[
Text
]]>
</p>
</topic>
</know>
xsl Dokument.
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>
<xsl:template match="know">
<xsl:value-of select="title"/>
<xsl:for-each select="topic">
<xsl:value-of select="@title"/>
<xsl:value-of select="." disable-output-escaping="yes"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>