我有一个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实现这一目标?
答案 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>