XML到CSV使用XSLT

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

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

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

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

谢谢!

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

样式表可能有帮助:

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

<xsl:strip-space elements="*" />

<xsl:template match="/*/child::*">
<xsl:for-each select="child::*">
<xsl:if test="position() != last()">"<xsl:value-of select="normalize-space(.)"/>",</xsl:if>
<xsl:if test="position()  = last()">"<xsl:value-of select="normalize-space(.)"/>"<xsl:text>&#xD;</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:template>

</xsl:stylesheet>

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

猜你在找的XML相关文章