使用.net(XmlDataDocument,XslCompiledTransform,XmlTextWriter)执行xml + xsl = html时从日期时间中删除“T”

时间:2008-11-27 16:33:38

标签: .net html xml vb.net xslt

从结果中删除“T”的最简单方法是什么?

我希望结果为“YYYY / MM / DD HH / MM / SS”

vb.net代码非常简单

        xmlDoc = New Xml.XmlDataDocument(data_set)
        xslTran = New Xml.Xsl.XslCompiledTransform
        xslTran.Load(strXslFile)
        writer = New Xml.XmlTextWriter(strHtmlFile, System.Text.Encoding.UTF8)

        xslTran.Transform(xmlDoc, Nothing, writer)

        writer.Close()

谢谢!

2 个答案:

答案 0 :(得分:0)

这是一种更易读的方式:

<xsl:value-of select="substring(., 1, 10)"/>
<xsl:text> </xsl:text>
<xsl:value-of select="substring(., 12, 8)"/>

这不太可读,但更简洁:

<xsl:value-of select="concat(substring(., 1, 10), ' ', substring(., 12, 8))"/>

答案 1 :(得分:0)

您还可以在XSLT文件中使用substring-before和substring-after函数。

<xsl:value-of select="substring-before(@datetime, 'T')" />
<xsl:text> </xsl:text>
<xsl:value-of select="substring-after(@datetime, 'T')"/>

或者,您可以使用translate函数,用空格替换T.

<xsl:value-of select="translate(@datetime,'T',' ')"/>