在XSL中更改时区

时间:2017-02-27 19:17:40

标签: java xml xslt

我有一些使用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,'&#xA;')"/>
    </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())

任何帮助将不胜感激。谢谢!

0 个答案:

没有答案