我的XML返回有多个图像值,所有图像都有不同的大小。我试图加载我的XSL中的图像,但它总是选择XML中返回的最小(第一)图像,因此它非常像素化。
如何根据屏幕大小选择正确的浏览器?因为第一个也可能是.ico,因此桌面上的小像素非常像素化。
以下是XML数据和XSL文件中的代码。
XSL:
List<string>
XML:
<xsl:for-each select="lfm/tracks/track">
<xsl:sort order="descending" data-type="number" select="playcount"/>
<xsl:if test="position() <= 8">
<xsl:value-of select="result"/>
<div class="col s3 m3">
<div class="card large">
<div class="card-image">
<img>
<xsl:attribute name="src">
<xsl:value-of select="image"/>
</xsl:attribute>
</img>
<span class="card-title"><xsl:value-of select="name"/></span>
</div>
<div class="card-content">
<p><xsl:value-of select="name"/>
</p>
<p><xsl:value-of select="artist/name"/>
</p>
<p> Playcount:
<xsl:value-of select="playcount"/>
</p>
</div>
<div class="card-action">
<a href="view_song.html"><p>Link:
<xsl:value-of select="url"/>
</p></a>
</div>
</div>
</div>
</xsl:if>
</xsl:for-each>
答案 0 :(得分:0)
通过使用数字下标图像节点来解决:
<xsl:value-of select="image[2]"/>
答案 1 :(得分:0)
<xsl:value-of select="image"/>
image
的xpath将访问第一个图像元素。
如果您想访问其他人,可以使用image[3]
或更好的元素索引,您可以将其基于size属性,如下所示。
<xsl:value-of select="image[@size = 'large']"/>