我需要用逗号拆分字符串并输出如下所示的内容。
input 1:
<xsl:variable name="weekdays" select="sunday,tuesday,wednesday">
input 2:
<xsl:variable name="weekdays" select="sunday,thursday,friday,saturday">
输入可能包含随机工作日。我需要输出如下所示的内容。
output 1:
<weekday>
sunday
Tuesday
wednesday
</weekday>
output 2:
<weekday>
sunday
Thursday
Friday
Saturday
</weekday>
有人可以帮忙吗?
为了实现这一点,输入 XML 应该在其中一个元素中包含comma
分隔的值,否则您必须相应地准备<xsl:variable>
的值。问题中显示的<xsl:variable>
语法不正确。
输入 XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<weekdays>Sunday,Tuesday,Wednesday</weekdays>
在 XSL 中,可以使用变量来保存元素中的值,并使用translate
函数将comma
替换为newline
字符。
转换 XSL
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
<xsl:strip-space elements="*" />
<xsl:variable name="weekday-names" select="weekdays" />
<xsl:template match="/">
<output>
<xsl:value-of select="translate($weekday-names,',','
')" />
</output>
</xsl:template>
</xsl:stylesheet>
输出 XML
<?xml version="1.0" encoding="UTF-8"?>
<output>Sunday
Tuesday
Wednesday
</output>