需要删除空格<p>标记

时间:2017-08-08 11:44:36

标签: xml xslt-2.0

我想删除空格&lt; p&gt;使用XSL的元素:

我正在使用XML:

    <Body>
      <p> </p>
      <h1>AAA</h1>
      <p>aaa</p>
    </Body>

我使用的XSL:

   <xsl:strip-space elements="p"/>

   <xsl:template match="Body">
      <xsl:copy>
         <h1><xsl:value-of select="h1[normalize-space()]" separator=" "/></h1>
         <xsl:apply-templates select="@*|node()"/>
      </xsl:copy>
   </xsl:template>

   <xsl:template match="h1"/>

   <xsl:template match="p[not(normalize-space())]"/>

输出我变得像:

    <Body>
      <h1>AAA</h1>
      <p> </p>
      <p>aaa</p>
    </Body>

预期输出如下:

    <Body>
      <h1>AAA</h1>
      <p>aaa</p>
    </Body>

我需要删除空格para标签。请建议代码。提前致谢

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="@*|node()">
    <xsl:if test="normalize-space(.) != ''">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:if>
</xsl:template>