xslt 1.0匹配两个后续元素

时间:2014-12-17 12:29:14

标签: xml xslt xslt-1.0

我有一个XML文件,其中包含我想在单个段落中插入的后续元素

这是XML格式

<root>
    <list>
        <file> 1.txt </file>
        <url> site.com </url>
        <file> 2.text </file>
        <url> mysite.com </url>
        <file> 3.gif </file>
        <url> picsite.com </url>
    </list>

</root>

我想选择每两个后续元素 所以结果会像:

1.txt , site.com
2.txt, mysite.com
3.gif, picsite.com

它看似简单的任务,但我没有找到任何优雅的解决方案...... 任何消息?

我正在使用XSLT 1.0版

1 个答案:

答案 0 :(得分:2)

这应该像musiKk建议的那样有效,

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="UTF-8"/>

<xsl:template match="/">
  <xsl:for-each select="/root/list/file">
   <xsl:value-of select="normalize-space(.)"/>,  <xsl:value-of select="normalize-space(following-sibling::*)"/> 
    <xsl:text>
    </xsl:text>
  </xsl:for-each>
</xsl:template>

</xsl:stylesheet>