使用XSLT从XML到CSV

使用XSLT从XML到CSV

我有以下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,以防这件事发生。


慕虎7371278
浏览 536回答 3
3回答

翻过高山走不出你

找到一个xml转换样式表这里(网站本身是德语)此处添加的样式表可能会有所帮助:<xsl:stylesheet&nbsp;version="1.0"xmlns:xsl="&nbsp; <xsl:output&nbsp;method="text"&nbsp;encoding="iso-8859-1"/><xsl:strip-space&nbsp;elements="*"&nbsp;/> <xsl:template&nbsp;match="/*/child::*"><xsl:for-each&nbsp;select="child::*"> <xsl:if&nbsp;test="position()&nbsp;!=&nbsp;last()">"<xsl:value-of&nbsp;select="normalize-space(.)"/>",&nbsp;&nbsp;&nbsp;&nbsp; </xsl:if><xsl:if&nbsp;test="position()&nbsp;&nbsp;=&nbsp;last()">"<xsl:value-of&nbsp;select="normalize-space(.)"/>" <xsl:text>&#xD;</xsl:text></xsl:if></xsl:for-each></xsl:template></xsl:stylesheet>也许您希望删除xsl:if标记中的引号,这样它就不会将值放入引号中,这取决于您要在何处使用CSV文件。
打开App,查看更多内容
随时随地看视频慕课网APP