xslt使用分隔符连接所有类型的后代

时间:2015-12-23 18:12:09

标签: xml xslt xpath xslt-2.0

我正在使用XSL将HTML文档转换为XML。如何使用分隔符连接特定类型的所有后代节点中的文本?作为示例,我有一个表节点,它有几个td节点作为后代,如何组合所有这些td元素中的文本?对于以下输入并使用','作为分隔符,输出应为'value1,value2,value3,value4'

<table>
    <tr>
        <td>value1</td>
    </tr>
    <tr>
        <td>
            <table>
                <tr>
                    <td>value2</td>
                    <td>value3</td>
                </tr>
                <tr>
                    <td>value4</td>
                </tr>
            </table>
        </td>
    </tr>
</table>

1 个答案:

答案 0 :(得分:4)

尝试:

<xsl:value-of select="//td[text()]" separator=","/>

或:

<xsl:value-of select="string-join(//td[text()],',')"/>

string-join()AVT's中特别有用。