在使用XSLT解析XML时,我遇到了一个问题
我想在这个论坛上提问。
但我无法共享代码。
this W3schoools example中没有分享按钮。
请您建议我编写演示版的任何编辑并分享我的代码。
我想获得最低价格。
XML
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="abc.xsl"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
</catalog>
XSLT
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th style="text-align:left">Title</th>
<th style="text-align:left">Artist</th>
</tr>
<xsl:for-each select="catalog/cd/title">
<tr>
<td><xsl:value-of select="text()"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
答案 0 :(得分:0)
评论中已经建议了能够处理您的请求的编辑器。
如果您想检索<price>
元素的最小值,可以使用以下XSLT代码段:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/catalog">
<xsl:for-each select="cd">
<xsl:sort select="price" data-type="number" order="ascending"/>
<xsl:if test="position() = 1">
<xsl:text>Minimum price: </xsl:text>
<xsl:value-of select="price/text()" />
<xsl:text>
</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
输出所有<price>
标记值的最小值:
<?xml version="1.0"?>
Minimum price: 9.90