Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 如何将单独的日期和时间变量合并为一个日期时间格式XSLT_Xml_Datetime_Xslt_Xslt 1.0 - Fatal编程技术网

Xml 如何将单独的日期和时间变量合并为一个日期时间格式XSLT

Xml 如何将单独的日期和时间变量合并为一个日期时间格式XSLT,xml,datetime,xslt,xslt-1.0,Xml,Datetime,Xslt,Xslt 1.0,我需要根据XSLT将单独的日期和时间合并成一种日期时间格式。我是XSLT的新手。我一直在谷歌搜索,并尽了最大努力。我找不到解决办法。希望你能帮我。谢谢 原始xml文件: <ns0:TransactionRequests xmlns:ns0="http://tst.co.za/sa/co/cib/servicesV1"> <CorporatePayments> <TransactionDate>20140926</Transactio

我需要根据XSLT将单独的日期和时间合并成一种日期时间格式。我是XSLT的新手。我一直在谷歌搜索,并尽了最大努力。我找不到解决办法。希望你能帮我。谢谢

原始xml文件:

 <ns0:TransactionRequests xmlns:ns0="http://tst.co.za/sa/co/cib/servicesV1">
    <CorporatePayments>
      <TransactionDate>20140926</TransactionDate> 
       <TransactionTime>001502</TransactionTime> 
    </CorporatePayments> 
</ns0:TransactionRequests>
 <xsl:template match="CorporatePayments" >
  <Transactions>
   <Transaction bankDate="{TransactionDate+TransactionTime}">
   </Transaction>
   <Transactions>
 </xsl:template>
 <Transactions>
   <Transactions>
     <Transaction bankDate="2014-09-26T00:15:02"  />
 </Transactions>
</Transactions>

20140926
001502
XSLT:

 <ns0:TransactionRequests xmlns:ns0="http://tst.co.za/sa/co/cib/servicesV1">
    <CorporatePayments>
      <TransactionDate>20140926</TransactionDate> 
       <TransactionTime>001502</TransactionTime> 
    </CorporatePayments> 
</ns0:TransactionRequests>
 <xsl:template match="CorporatePayments" >
  <Transactions>
   <Transaction bankDate="{TransactionDate+TransactionTime}">
   </Transaction>
   <Transactions>
 </xsl:template>
 <Transactions>
   <Transactions>
     <Transaction bankDate="2014-09-26T00:15:02"  />
 </Transactions>
</Transactions>

xml格式的预期结果:

 <ns0:TransactionRequests xmlns:ns0="http://tst.co.za/sa/co/cib/servicesV1">
    <CorporatePayments>
      <TransactionDate>20140926</TransactionDate> 
       <TransactionTime>001502</TransactionTime> 
    </CorporatePayments> 
</ns0:TransactionRequests>
 <xsl:template match="CorporatePayments" >
  <Transactions>
   <Transaction bankDate="{TransactionDate+TransactionTime}">
   </Transaction>
   <Transactions>
 </xsl:template>
 <Transactions>
   <Transactions>
     <Transaction bankDate="2014-09-26T00:15:02"  />
 </Transactions>
</Transactions>

使用以下XSLT:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://tst.co.za/sa/co/cib/servicesV1" exclude-result-prefixes="ns0">
<xsl:output indent="yes" method="xml" omit-xml-declaration="yes" />
<xsl:strip-space elements="*"/>
<xsl:template match="/ns0:TransactionRequests/CorporatePayments" >
    <Transactions>
        <Transactions>
            <xsl:variable name="D" select='TransactionDate'/>
            <xsl:variable name="T" select='TransactionTime'/>
            <Transactions bankDate="{concat(substring($D,1,4), '-',substring($D,5,2),'-',substring($D,7,2),'T',substring($T,1,2),':',substring($T,3,2),':',substring($T,5,2))}"/>
        </Transactions>
    </Transactions>
</xsl:template>
</xsl:stylesheet>