使用xsl删除特定的xml标记

时间:2013-11-04 15:49:15

标签: xml xslt

如果<a>以“rem:”开头,我需要删除标记href。标记<a>之间的文本必须显示为普通文本而不显示链接。

输入

<a alt="" title="" target="" class="" href="rem:6780;">prova prova< /a>

必须写成

prova prova

我试过这段代码

<xsl:variable name=text>
<xsl:choose>
  <xsl:when test="string(//doc/a) contains 'rem:' ">
   <xsl: value-of ''>
  </xsl:when>
</xsl:choose>

1 个答案:

答案 0 :(得分:3)

写一个模板

<xsl:template match="a[starts-with(@href, 'rem:')]">
  <xsl:value-of select="."/>
</xsl:template>

然后你只需要

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

如果其他节点需要特殊处理,您可以为它们添加模板。