我很难过,非常感谢任何帮助。我试图从XML字段捕获电子邮件值,但我没有得到所需的输出。
我有这个XML字段:
<Rmk>EMAIL-FIRST.LAST*ABX.COM</Rmk>
我有这个XSL声明:
<xsl:for-each select="//Rmk[starts-with(.,'EMAIL-')]">
<Email>
<xsl:value-of select="translate(substring-after(.,'EMAIL-'),'*','@')"/>
</Email>
</xsl:for-each>
它产生的输出是FIRST.LAST*ABX.COM
,而期望的输出是FIRST.LAST@ABX.COM
。有什么输入?
答案 0 :(得分:3)
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:for-each select="//Rmk[starts-with(.,'EMAIL-')]">
<Email>
<xsl:value-of select="translate(substring-after(.,'EMAIL-'),'*','@')"/>
</Email>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
转换的产生结果
<Email>FIRST.LAST@ABX.COM</Email>
这似乎是你想要的结果。还有什么不对?