如何在xslt中删除空标签?

时间:2013-04-09 10:32:22

标签: xml xslt

这是我正在使用的XML文件:

 <data>
     <addressrecord id = "1bdd3154dc78bd75c5f1983d640005a6" type = "person">
     <category mode="main">customer</category>
     <firstname>Ann-margret</firstname>
     <lastname>Carlsson</lastname>
     <companyname></companyname>
         <address name="main">
           <street>s:t Gertrudsvägen 156</street>
           <zip>59341</zip>
           <city>Västervik</city>
          </address>
     <phone subtype="home">0490-36328</phone>
     <email></email>
   </addressrecord>
</data>

我试图将这个XML以表格格式放到XSL中,而不是HTML表格格式。

1 个答案:

答案 0 :(得分:0)

似乎你想要保留所有的东西而不是“email”元素,因为它是空的,你想要删除它。这是解决方案:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns="http://www.w3.org/1998/Math/MathML" exclude-result-prefixes="m">

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

  <xsl:template match="*[not(child::node())]"/>


</xsl:stylesheet>