使用XSLT将XML转换为CSV

使用XSLT将XML转换为CSV,xml,xslt,xslt-2.0,Xml,Xslt,Xslt 2.0,我正在尝试使用xslt将XML转换为csv,我不熟悉xslt,所以只需阅读一些教程和其他在线资源。 这是我的XML <?xml version="1.0" encoding="UTF-8"?> <impex> <test> <Employee /> <UID>auma</UID> <Name>HR Manager</Name> &

我正在尝试使用xslt将XML转换为csv,我不熟悉xslt,所以只需阅读一些教程和其他在线资源。 这是我的XML

<?xml version="1.0" encoding="UTF-8"?>
<impex>
    <test>
        <Employee />
        <UID>auma</UID>
        <Name>HR Manager</Name>
        <Groups />
        <Password>228781</Password>
    </test>
    <test>
        <Employee />
        <UID>auma1</UID>
        <Name>HR Manager</Name>
        <Groups />
        <Password>2287811</Password>
    </test>
</impex>
下线

<xsl:param name="headerVal" select="'INSERT_UPDATE Employee;UID[unique=true];name;groups(uid);password'"/>

我假设这是由于
中选择
值,但我甚至删除了它,甚至删除了空格,但没有任何帮助
我已经在谷歌上搜索过了,但是找不到一种方法来定义xsl文件中的这个头,这样我就可以在csv中使用这个头了

提前感谢

问题已解决

<xsl:apply-templates select="test[1]/*" mode="header"/>

它工作得很好。

非常感谢您发布这篇文章。这就是我问题的答案——做一些非常相似的事情。本质上,我还需要将XML转换为CSV。我的输出格式比你的更传统(顶部没有INSERT语句)。无论如何,mode=“header”技巧是我所缺少的。再次感谢你/非常/非常感谢。
<xsl:param name="headerVal" select="'INSERT_UPDATE Employee;UID[unique=true];name;groups(uid);password'"/>
<xsl:apply-templates select="test[1]/*" mode="header"/>
<xsl:apply-templates select="test[1]" mode="header"/>