下午好!我已经有一段时间了,因为我已经完成了XSLT并且有点难过。试图实现以下目标:
当应用于以下xml ..
时<tag>
content
<br />
</tag>
会产生这样的结果:
modified content
<br />
换句话说,我试图抓取/输出主标签上的所有内容,包括HTML但带有修改过的内容项。只需选择元素内容就行了<xsl:copy-of select="./node()"/>
,因此正在替换&#34;内容&#34;用其他东西,但我似乎无法弄清楚如何将两者结合起来。我也使用XSLT 1.0。
答案 0 :(得分:1)
使用
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="tag">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="tag/text()[contains(., 'content')]">
<xsl:value-of select="concat('modified ', .)"/>
</xsl:template>
当然,如果需要操作tag
元素的任何第一个子文本节点,那么您可以更改第三个模板
<xsl:template match="tag/text()[1]">
<xsl:value-of select="concat('modified ', .)"/>
</xsl:template>