我有一些使用XSL将XML和XML转换为CSV的Java代码。从XML记录的时间是GMT。我需要将其切换到CST / CDT。 XSL看起来像这样:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:java="http://xml.apache.org/xslt/java" exclude-result-prefixes="java" >
<xsl:output method="text" omit-xml-declaration="yes" indent="no"/>
<xsl:template match="/">
<xsl:for-each select="//Tag4">
<xsl:value-of select="concat(@id,',',@score,',',@average,',',/Tag1/@createddate,'
')"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
这里的XML看起来像这样:
<Tag1 doc="something" createddate="2016-02-12T18:48:01Z">
<Tag2 xattribute="01">
<Tag3 valueat="02">
<Tag4 id="01" score="20" average="30"></Tag4>
<Tag4 id="02" score="40" average="60"></Tag4>
</Tag3>
</Tag2>
</Tag1>
我尝试使用Java使用当前时间,但正如预期的那样,该值与XML值不同。 XML正在连续流式传输,但如果我在XSL中使用当前时间,则会有一点间隙:
java:format(java:java.text.SimpleDateFormat.new('yyyy-MM-dd HH:mm:ss z'),java:java.util.Date.new())
任何帮助将不胜感激。谢谢!