如何使用xsl将xml转换为csv [英] How to convert xml to csv using xsl

查看:193
本文介绍了如何使用xsl将xml转换为csv的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我有以下xml代码:
然后我需要将这些xml转换为csv格式与标题是显示。

 <?xml version ='1.0'?> 

< portfolio>

< stock exchange =nasdaq>
< name> zaffymat inc< / name>
< symbol> ZFFX< / symbol>
< price> 92.250< / price>
< / stock>

< stock exchange =nyse>
< name> zacx corp< / name>
< symbol> ZCXM< / symbol>
< price> 28.875< / price>
< / stock>

< stock exchange =nasdaq>
< name> zysmergy inc< / name>
< symbol> ZYSZ< / symbol>
< price> 20.313< / price>
< / stock>

< / portfolio>

如何将xml转换为csv如下通过xsl输出?

 Name;Price
zaffymat inc;92.250
zysmergy inc;20.313$ b谢谢。

解决方案

div>

尝试此XSLT以获取所需的输出:

 < xsl:template match =portfolio> 
< xsl:text>Name;Price< / xsl:text>
< xsl:text>&#10;< / xsl:text>
< xsl:for-each select =stock>
< xsl:text>< / xsl:text>
< xsl:value-of select =name/>
< xsl:text>;< ; / xsl:text>
< xsl:text>< / xsl:text>
< xsl:value-of select =price/>
< xsl:text& / xsl:text>
< xsl:text>&#10;< / xsl:text>
< / xsl:for-each>
< / xsl:template>


Hi i do have following xml code: Then i need to convert those xml to csv format with header title is show.

<?xml version='1.0'?>

  <portfolio>

     <stock exchange="nasdaq"> 
     <name>zaffymat inc</name> 
     <symbol>ZFFX</symbol> 
     <price>92.250</price> 
     </stock> 

     <stock exchange="nyse"> 
     <name>zacx corp</name> 
     <symbol>ZCXM</symbol> 
     <price>28.875</price> 
     </stock> 

     <stock exchange="nasdaq"> 
     <name>zysmergy inc</name> 
     <symbol>ZYSZ</symbol> 
     <price>20.313</price> 
     </stock> 

  </portfolio>

How can i transform xml above to csv like below output via xsl?

"Name";"Price"
"zaffymat inc";"92.250"
"zysmergy inc";"20.313"

Thank you.

解决方案

Try this XSLT to get your desired output:

  <xsl:template match="portfolio">
    <xsl:text>"Name";"Price"</xsl:text>
    <xsl:text>&#10;</xsl:text>
    <xsl:for-each select="stock">
      <xsl:text>"</xsl:text>
      <xsl:value-of select="name"/>
      <xsl:text>";</xsl:text>
      <xsl:text>"</xsl:text>
      <xsl:value-of select="price"/>
      <xsl:text>"</xsl:text>
      <xsl:text>&#10;</xsl:text>
    </xsl:for-each>
  </xsl:template>

这篇关于如何使用xsl将xml转换为csv的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆