通常,copy-of="node()"
检索元素的子节点。但在处理指令的情况下,似乎只输出文本内容。
这对我来说没有意义,但下面的解决方案是解决这个问题的方法。
样式表
<?xml version="1.0"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/content">
<xsl:processing-instruction name="php">
<xsl:text>$content = "</xsl:text>
<xsl:apply-templates/>
<xsl:text>";</xsl:text>
</xsl:processing-instruction>
</xsl:template>
<xsl:template match="content/*">
<xsl:text><</xsl:text><xsl:value-of select="name()"/><xsl:text>></xsl:text>
<xsl:value-of select="."/>
<xsl:text></</xsl:text><xsl:value-of select="name()"/><xsl:text>></xsl:text>
</xsl:template>
</xsl:stylesheet>
输出
<?php $content = "<p>Para one</p><p>Para two</p>";?>