一个元素中的两个名称(XSLT)

时间:2016-03-14 07:30:30

标签: xml xslt

你好我再试一次,因为我无法找到问题的答案......

我有这个XML输入

<Name> Name1, Name2</Name>

在XML输出中我需要得到这个

<NameOfFirstOne>Name1 </NameOfFirstOne>
 <NameOfSecondOne>Name2 </NameOfSecondOne>  

但是,如果我有价值,我总是得到两个名字,但我只需要一个。那我该怎么办呢?

1 个答案:

答案 0 :(得分:1)

如果您有XPath 3.1(即XSLT 2.0),那么您可以使用tokenize()函数按指定的分隔符字符串拆分字符串:

<xsl:template match="Name">
    <xsl:variable name="names" select="tokenize(text(),', ')"/>
    <NameOfFirstOne>
        <xsl:value-of select="$names[1]"/>
    </NameOfFirstOne>
    <NameOfSecondOne>
        <xsl:value-of select="$names[2]"/>
    </NameOfSecondOne>
</xsl:template>