如何使用xslt检查和替换空日期
我想检查我的到期日是否为空,而不是从CreationDate获取值 我的XML就像如何使用xslt检查和替换空日期,xslt,Xslt,我想检查我的到期日是否为空,而不是从CreationDate获取值 我的XML就像 <CreationDate>2017-03-18</CreationDate> <ExpiresDate>20170318</ExpiresDate> 2017-03-18 20170318 在我的xsl中 <xsl:element name="NewDeliveryDueDate"> <xsl:call-template n
<CreationDate>2017-03-18</CreationDate> <ExpiresDate>20170318</ExpiresDate>
2017-03-18 20170318
在我的xsl中
<xsl:element name="NewDeliveryDueDate">
<xsl:call-template name="FormatDate">
<xsl:with-param name="DateTime" select="Product/ExpiresDate"/>
</xsl:call-template>
</xsl:element>
,
&逗号;
请建议 你的问题不完整。也许这对你有用: XSLT1.0
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<!-- identity transform -->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="ExpiresDate[not(string())]">
<xsl:copy>
<xsl:value-of select="translate(../CreationDate, '-', '')"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
将此应用于以下示例输入时:
<root>
<item>
<CreationDate>2017-03-18</CreationDate>
<ExpiresDate>20170318</ExpiresDate>
</item>
<item>
<CreationDate>2017-03-09</CreationDate>
<ExpiresDate/>
</item>
</root>
2017-03-18
20170318
2017-03-09
结果将是:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<item>
<CreationDate>2017-03-18</CreationDate>
<ExpiresDate>20170318</ExpiresDate>
</item>
<item>
<CreationDate>2017-03-09</CreationDate>
<ExpiresDate>20170309</ExpiresDate>
</item>
</root>
2017-03-18
20170318
2017-03-09
20170309
您应该发布输入XML的完整示例,包括“null”到期日期。我也看不出XSLT与所述问题有什么关系。