返回顶部

收藏

使用xslt将xml转换为json格式

更多

大家通常使用xslt将xml转换成xml或者html, 但是xslt还有能力将xml转换成文本, 可以是json, 如下例子:

<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
    <cd>
        <title>Empire Burlesque</title>
        <artist>Bob Dylan</artist>
        <country>USA</country>
        <price>10.90</price>
        <year>1985</year>
    </cd>
    <cd>
        <title>Subrayana kathe</title>
        <artist>Subba</artist>
        <country>India</country>
        <price>30</price>
        <year>1986</year>
    </cd>
</catalog>

我们可以通过下面xslt转换成json

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
   <xsl:template match="/">
      {
"catalog":[
      <xsl:for-each select="catalog/cd">
         {"title":"
         <xsl:value-of select="title" />
         ",
"artist":"
         <xsl:value-of select="artist" />
         "}<xsl:if test="./following-sibling::cd">,</xsl:if>
      </xsl:for-each>
      ]
      }
   </xsl:template>
</xsl:stylesheet>

注意每个json元素之后的, 可以通过 <xsl:if test="./following-sibling::cd">,</xsl:if>来控制有无。

标签:xslt,json,xml

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. Iven Hsu (ivenvd@gma 发表 2011-01-01 21:46:00 使用 gtkaml 编写 GTK+ 界面
  2. 馒头华华 发表 2015-08-27 14:18:40 【 JSON 浅谈 — 1.0 】 简介
  3. Hiro 发表 2012-01-06 07:51:55 XSLT:通过间隔符获取英文名的First Name和Last Name
  4. Hiro 发表 2012-04-06 02:26:33 XSLT: 递归获取主分类名称列表(补充)
  5. viviworld 发表 2015-05-14 10:14:12 为什么是 Lisp?
  6. hystar 发表 2011-04-23 00:20:00 再谈ASP.NET6 – XML与XSLT - hystar
  7. 博主 发表 2014-10-31 07:24:33 10分钟掌握XML、JSON及其解析
  8. 四火 发表 2015-01-25 03:37:36 XML和JSON
  9. root 发表 2015-04-28 07:32:01 ASP.NET之json字符串转xml字符串
  10. solos 发表 2015-05-20 00:00:00 xml转json
  11. 馒头华华 发表 2015-09-03 12:41:19 【 JSON 浅谈 — 5.0 】 JSON 和 XML
  12. dingyaguang117 发表 2013-04-11 15:52:57 XML与JSON/字典互相转换

发表评论