使用多个映像访问XML节点值

时间:2017-05-10 11:39:53

标签: html xml html5 xslt web

我的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() &lt;= 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>

2 个答案:

答案 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']"/>
相关问题