您好我正在使用XSL将一个XML转换为另一个XML.
我面临的问题是标签内部的值是10feb2011
ie <date>10feb2011</date>.
我需要输出为:
<date>10</date>
<month>feb</month>
<year>2011</year>
Run Code Online (Sandbox Code Playgroud)
所以我使用了substring功能,但无法让它工作.
我的XML看起来像
<ArrivalDateTime>
<Date>20feb2011<Date>
</ArrivalDateTime>
Run Code Online (Sandbox Code Playgroud)
它应该转换为这种格式
<ArrivalDateTime>
<dayOfMonth>10</dayOfMonth>
<month>feb</month>
<year>2011</year>
</ArrivalDateTime>
Run Code Online (Sandbox Code Playgroud)
下面是我写的XSL
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:text><![CDATA[<ArrivalDateTime>]]></xsl:text>
<xsl:text><![CDATA[<dayOfMonth>]]></xsl:text>
<xsl:value-of select='substring("<xsl:value-of select="/ArrivalDateTime/Date"/>",1,2)'/>
<xsl:text><![CDATA[</dayOfMonth>]]></xsl:text>
<xsl:text><![CDATA[<month>]]></xsl:text>
<xsl:value-of select='substring("<xsl:value-of select="/ArrivalDateTime/Date"/>",3,3)'/>
<xsl:text><![CDATA[</month>]]></xsl:text>
<xsl:text><![CDATA[<year>]]></xsl:text>
<xsl:value-of select='substring("<xsl:value-of select="/ArrivalDateTime/Date"/>",5,4)'/>
<xsl:text><![CDATA[</year>]]></xsl:text>
<xsl:text><![CDATA[</ArrivalDateTime>]]></xsl:text></xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)