用XSLT编写JSON

我正在尝试编写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>

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

以上是 用XSLT编写JSON 的全部内容, 来源链接: utcz.com/qa/419440.html

回到顶部