当前位置: 首页 > 面试题库 >

用XSLT编写JSON

萧业
2023-03-14
问题内容

我正在尝试编写XSLT以将特定的网页转换为JSON。以下代码演示了Ruby如何进行此转换,但是XSLT不会生成有效的JSON(数组中有太多逗号)-有人知道如何编写XSLT来生成有效的JSON吗?

require 'rubygems'
require 'nokogiri'
require 'open-uri'

doc = Nokogiri::HTML(open('http://bbc.co.uk/radio1/playlist'))
xslt = Nokogiri::XSLT(DATA.read)

puts out = xslt.transform(doc)

# Now follows the XSLT
__END__
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
    <xsl:output method="text" encoding="UTF-8" media-type="text/plain"/>

    <xsl:template match="/">
        [
        <xsl:for-each select="//*[@id='playlist_a']//div[@class='artists_and_songs']//ul[@class='clearme']">
            {'artist':'<xsl:value-of select="li[@class='artist']" />','track':'<xsl:value-of select="li[@class='song']" />'},
        </xsl:for-each>
        ]
    </xsl:template>
</xsl:stylesheet>

问题答案:

从中的行省略逗号,for-each然后添加:

<xsl:if test="position() != last()">,</xsl:if>

这将为除最后一项以外的每一项添加逗号。



 类似资料:
  • 我在我的项目中使用Fuse 6.1和camel 2.12版本,并面临以下问题。我试图将java.util.HashMap传递到我的xslt,并访问map以检索我的XSLT中的一堆值。为此,我构建了一个映射,并将其放在bean的头中,并访问它XSLT。我创建了一个测试用例来运行此路线,一切都运行良好,能够在XSLT中访问映射,XSLT正在编译良好,并生成预期的XML,如果我在类路径中net.sf.s

  • 问题内容: 有人可以指出我正确的方向,以便在Java中写入Excel文件吗?我不了解我在网上找到的链接。您能给我发送链接还是我可以遵循的任何方式? 谢谢J 问题答案: 并不是平庸,但是Apache POI可以做到。您可以在此处找到一些代码示例: http //poi.apache.org/spreadsheet/examples.html

  • 问题内容: 我正在尝试根据从《 AI游戏程序员的技术》一书中选取的技术编写一种遗传算法,该技术对种群的基因使用二进制编码和适应性比例选择(也称为轮盘选择)。在程序内以二维数组随机生成。 最近,我遇到了一段伪代码并尝试实现它,但是遇到了一些我需要做的事情方面的问题。我检查了许多书籍和一些开源代码,但仍在努力取得进展。我了解我必须获得总体适应度的总和,在总和与零之间选择一个随机数,然后如果该数字大于父

  • 问题内容: 我有一个函数数组,我试图产生一个由数组中元素组成的函数。我的方法是: 此方法似乎无效,将不胜感激。 (我要反转列表,因为这是我希望函数成为的组合顺序) 问题答案: 它不起作用,因为您在循环中创建的所有匿名函数都引用相同的循环变量,因此共享其最终值。 作为快速解决方案,您可以将分配替换为: 或者,您可以从函数返回lambda: 要了解发生了什么,请尝试以下实验: 这个结果使许多人感到惊讶

  • 问题内容: Sun 用什么语言写? 问题答案: Sun实际上有多个JVM。所述热点JVM在C ++主要被写,因为热点在很大程度上基于所述Animorphic Smalltalk的VM被用C ++编写 。 比HotSpot更有趣的是IMHO Maxine Research VM ,它几乎完全用Java编写。

  • 问题内容: 我非常精通PHP,但想尝试一些新的东西。 我也了解一些Python,足以完成基础知识的工作,但是还没有在Web设计类型的情况下使用过。 我刚刚写了这个,它的工作原理是: 事实是,这似乎很麻烦。如果不使用诸如django之类的大型工具,那么编写可处理获取和发布的脚本的最佳方法是什么? 问题答案: 您的问题是关于基本CGI脚本的,请看您的示例,但是似乎每个人都选择了“使用我最喜欢的框架”来