XML到CSV使用XSLT

前端之家收集整理的这篇文章主要介绍了XML到CSV使用XSLT前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下XML文档:
  1. <projects>
  2. <project>
  3. <name>Shockwave</name>
  4. <language>Ruby</language>
  5. <owner>Brian May</owner>
  6. <state>New</state>
  7. <startDate>31/10/2008 0:00:00</startDate>
  8. </project>
  9. <project>
  10. <name>Other</name>
  11. <language>Erlang</language>
  12. <owner>Takashi Miike</owner>
  13. <state> Canceled </state>
  14. <startDate>07/11/2008 0:00:00</startDate>
  15. </project>
  16. ...

我想从转换(XSLT)结果中得到这个结果:

  1. Shockwave,Ruby,Brian May,New,31/10/2008 0:00:00
  2. Other,Erlang,Takashi Miike,Cancelled,07/11/2008 0:00:00

有没有人知道XSLT实现这一点?我在使用.net的情况下。

谢谢!

找到了一个XML转换样式表 here(网站本身是德国)

样式表可能有帮助:

  1. <xsl:stylesheet version="1.0"
  2. xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. <xsl:output method="text" encoding="iso-8859-1"/>
  4.  
  5. <xsl:strip-space elements="*" />
  6.  
  7. <xsl:template match="/*/child::*">
  8. <xsl:for-each select="child::*">
  9. <xsl:if test="position() != last()">"<xsl:value-of select="normalize-space(.)"/>",</xsl:if>
  10. <xsl:if test="position() = last()">"<xsl:value-of select="normalize-space(.)"/>"<xsl:text>&#xD;</xsl:text>
  11. </xsl:if>
  12. </xsl:for-each>
  13. </xsl:template>
  14.  
  15. </xsl:stylesheet>

也许你想删除xsl:if标签中的引号,这样它不会把你的值引号,这取决于你想使用CSV文件的位置。

猜你在找的XML相关文章