我有一個案例研究,我需要拒絕xml記錄,如果它不是格式 hh:mm:ss
。可以any1幫助我如何使用xslt來做到這一點。如何拒絕特定日期格式的xml記錄
<Data>
<rec>
12:32:56
</rec>
<rec>
20141104093903
</rec>
<Data>
所以應該拒絕第二個記錄....
我有一個案例研究,我需要拒絕xml記錄,如果它不是格式 hh:mm:ss
。可以any1幫助我如何使用xslt來做到這一點。如何拒絕特定日期格式的xml記錄
<Data>
<rec>
12:32:56
</rec>
<rec>
20141104093903
</rec>
<Data>
所以應該拒絕第二個記錄....
嘗試以下樣式:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:strip-space elements="*"/>
<xsl:output indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/">
<Data>
<xsl:apply-templates select="Data/rec[contains(., ':')]"/>
</Data>
</xsl:template>
<xsl:template match="rec">
<xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
當應用到我們的輸入XML,它產生
<Data>
<rec>
12:32:56
</rec>
</Data>
感謝Joel M. Lamsen! – rohit31dec91
以下XPath表達式
rec[normalize-space(translate(., '1234567890', '##########'))='##:##:##']
將僅選擇rec
元素,其內容爲hh:mm:ss
格式。它不檢查值的時間,它會高興地接受36:82:93
的「時間」。
您使用的是XSLT 1.0還是2.0? - 「拒絕」究竟意味着什麼? –