我正在尝试使用 XSLT 将 XML 转换为 CSV。我在这个网站上看到了很多类似的帖子,但想提一下具体要求和我在代码中看到的问题。
这是我格式良好的 XML 文件内容。请注意,我从数据库中获取这个 XML 作为字符串,所以它没有被格式化。
XML 文件
<myxml ver="1.0"><name>smile</name><email>test@gmail.com</email><phone_number/><job_title>Engineer</job_title><company_name>Stack Overflow</company_name><submission-datestamp>3/14/11 8:29 PM</submission-datestamp></myxml>
这是 XSLT 文件
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="myxml">
<xsl:for-each select="*" >
<xsl:if test="position() != last()">
<xsl:value-of select="normalize-space(.)"/>,
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
我得到低于 CSV 格式的内容:
smile,
test@gmail.com,
,
Engineer,
Stack Overflow,
3/14/11 8:29 PM
要求是:
- 我需要先显示标题
逗号分隔列表,如
微笑测试@gmail.com,EngineerStack 溢出,2011 年 3 月 14 日晚上 8 点 29 分
你能帮我修复我的代码吗?问题出在 XSLT 文件中。