刷新具有特定值的XML标记

时间:2010-04-02 18:56:22

标签: xml xslt

我有一个webservice,返回这样的XML:

<?xml version="1.0" encoding="UTF-8"?>
<contractInformation>
    <contract>
        <idContract type="int">87191827</idContract>        
        <region type="varchar">null</region>
        <dueDate type="varchar">null</dueDate>
        <contactName type="varchar">John Smith</contactName>
    </contract>
</contractInformation>

我想清空包含字符串 null 的每个标记,所以它看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<contractInformation>
    <contract>
        <idContract type="int">87191827</idContract>        
        <region type="varchar"/>
        <dueDate type="varchar"/>
        <contactName type="varchar">John Smith</contactName>
    </contract>
</contractInformation>

如何使用XSLT实现这一目标?

1 个答案:

答案 0 :(得分:3)

使用并覆盖标识规则

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>

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

 <xsl:template match="text()[.='null']"/>
</xsl:stylesheet>