2015-04-26 72 views
4

我为我的XML Web服务创建了一个XSL样式表。我有我的HTML数据库输出的图像链接。但我的XSL只显示链接,但不包含链接所包含的图像。我想使用XSL在HTML表格中显示直接图像。如何使用XSL代码在HTML表格中显示图像?

这是我的XSL代码

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:template match="/"> 
    <html> 
    <body> 
    <h2>Birdcatch XSLT</h2> 
    <table border="1"> 
     <tr bgcolor="#9acd32"> 
     <th>id</th> 
     <th>Species</th> 
     <th width="50%">About_bird</th> 
     <th>Date_added</th> 
     <th>Address</th> 
     <th>Age</th> 
     <th>Sex</th> 
     <th>Latitiude</th> 
     <th>Longitiude</th> 
     <th>Image</th> 
     <th>Added_by</th> 
     </tr> 
     <xsl:for-each select="Birdcatch/BIrds/Bird"> 
     <tr> 
     <td><xsl:value-of select="@id" /></td> 
     <td><xsl:value-of select="Species" /></td> 
     <td><xsl:value-of select="About_bird" /></td> 
     <td><xsl:value-of select="Date_added" /></td> 
     <td><xsl:value-of select="Address" /></td> 
     <td><xsl:value-of select="Age" /></td> 
     <td><xsl:value-of select="Sex" /></td> 
     <td><xsl:value-of select="Location/Latitiude" /></td> 
     <td><xsl:value-of select="Location/Longitiude" /></td> 
     <td><xsl:value-of select="Image" /></td> 
     <td><xsl:value-of select="Added_by" /></td> 
     </tr> 
     </xsl:for-each> 
    </table> 
    </body> 
    </html> 
</xsl:template> 
</xsl:stylesheet> 

我想在表中的图像col列来显示图像。我怎样才能做到这一点?

回答

1

相反的:

<td><xsl:value-of select="Image" /></td> 

尝试:

<td><img src="{Image}"></img></td> 

未测试,因为未提供XML源。

+0

这工作非常好:)谢谢 –

0

可以使用strpos方法TD 之间获取数据,如果你可以为图像添加id或class TD这样

<td class="img"><xsl:value-of select="Image" /></td> 

    $start = strpos($html, '<td class="img">') + 16; 
// we are going to start getting from <td class="img"> 
    $length = strpos($html, '"></td>') - $start; 
    $src = substr($html, $start, $length); 

echo $src; 

编辑:如果你不想使用PHP,你可以使用jQuery

$(document).ready(function(){ 

    $.ajax({ 
    type: "GET", 
    url: "yourxml.xml", 
    dataType: "xml", 
    success: function(xml) { 
    } 
    $(xml).find('addtaginyourdataloop').each(function(){ 
    var $start= var $row = $(this).closest("td").text(); 
    var $text = $start.find(".img").text(); 
    alert($text); //and we get the url. 
    }); 
    }); 
+0

谢谢,但有没有办法做到这一点没有PHP,但只使用HTML和XSL –

+0

我不知道只有使用html获取数据。但你可以使用jquery + html从xml或html文件中获取数据。 –

+0

我为你添加了jquery,希望对你有所帮助 –

相关问题