我的XML:
<geoCode>36.113,-114.925</geoCode>
我需要一个XSLT,它将上面的XML转换为以下XML格式:
<geoCode>
<lati>36.113</lati>
<longi>-114.925</longi>
</geoCode>
答案 0 :(得分:2)
您可以在模板中使用以下代码:
<xsl:template match="...">
<xsl:variable name="geo-code-split" select="tokenize(geoCode, ',')" />
<geoCode>
<lati><xsl:value-of select="$geo-code-split[1]" /></lati>
<longi><xsl:value-of select="$geo-code-split[2]" /></longi>
</geoCode>
</xsl:template>
P.S。:此解决方案使用XSLT 2.0。对于XSLT 1.0,您可以使用string-before()
和string-after()
函数。
答案 1 :(得分:1)
<geoCode>
<lati>
<xsl:value-of select="substring-before(geoCode,',')"/>
</lati>
<longi>
<xsl:value-of select="substring-after(geoCode,',')"/>
</longi>
</geoCode>
这是使用substring-before和substring-after。