2013-02-28 106 views
1
<Scheduled> 
<xsl:value-of select="//RequestParameters/Identifier/DepartureDate"> 
</xsl:value-of> 
</Scheduled> 

在这个xslt代码中,iam在“// RequestParameters/Identifier/DepartureDate”中获得最后一个字符'z',我想删除z并请帮忙。如何使用xslt从字符串中删除字符?

回答

3

如果//RequestParameters/Identifier/DepartureDate的值仅在末尾包含'z',则可以使用substring-before函数。

<xsl:value-of select="substring-before(//RequestParameters/Identifier/DepartureDate, 'z')"> 

编辑:

如果你想要得到的值的前10个字符,你可以使用substring功能。

<xsl:value-of select="substring(//RequestParameters/Identifier/DepartureDate, 1, 10)"> 
+0

感谢snak。这里DepartureDate的类型日期为例如值为2011-10-16T09:40:00.000Z,但我需要输出(保存)只有10个字符,即2011-10-16。请你帮忙吗? – 2013-02-28 06:14:58

+0

您可以使用子字符串函数。更新了答案。 – snak 2013-02-28 06:42:50

0

一般情况下,你可能希望通过添加JavaScript函数的XSLT来在ISO 8601的日期格式的元素值转换为另一种格式,并调用您的XPath表达式功能。 例如,当已经将一个(JavaScript的)函数convertToDate,其提取输入值的日期部分的格式yyyymmdd,XPath表达式

convertToDate (//RequestParameters/Identifier/DepartureDate) 

将导致一个值

20111016 

假设输入中只有一个DepartureDate元素,其值为

2011-10-16T09:40:00.000Z 
+0

如何在xslt中包含javascript:http://stackoverflow.com/q/7444317/62662 – 2013-02-28 07:52:48