我有标记,我想删除/转换某些标记,但保留数据。
例如:
<div>This is some <b>bold</b> text inside of a div</div>
<p>This is <u>another <b>formatted</b></u> string...<br /></p>
应该成为这个:
<p>This is some <b>bold</b> text inside of a div</p>
<p>This is another <b>formatted</b> string...</p>
由于嵌套,使用apply-templates
匹配每个条件不起作用。
你会怎么做呢?
答案 0 :(得分:1)
听起来像是修改后的identity transform的工作,如下所示:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<!--This is the identity template -->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<!--This template turns all <div> into <p>-->
<xsl:template match="div">
<p>
<xsl:apply-templates select="@*|node()"/>
</p>
</xsl:template>
<!--This template removes all <u> and continues processing -->
<xsl:template match="u">
<xsl:apply-templates select="@*|node()"/>
</xsl:template>
</xsl:stylesheet>