2015-04-26 96 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,希望對你有所幫助 –

相關問題