2010-11-08 103 views
1

我想通過xslt顯示一個XML標籤屬性,但我很難搞清楚它。用xslt顯示xml標籤屬性

我的XML文件看起來與此類似:

<?xml version="1.0"?> 
<?xml-stylesheet type="text/xsl" href="results.xsl"?> 
<search command="grep -n -i -I htm C:\firebreath\*"> 
<match number="1"> 
    <filename>C:\firebreath\CMakeLists.txt </filename> 
    <linenum>10 </linenum> 
    <matchstring>#   http://www.gnu.org/licenses/lgpl-2.1.html</matchstring> 
</match> 
</search> 

我的XSLT文件看起來像這樣:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:template match="/"> 
<html> 
<body> 
<h2>grep matches </h2> 
<table border="1"> 
    <tr bgcolor="#9acd32"> 
    <th>filename</th> 
    <th>line number</th> 
    <th>match string</th> 
    </tr> 
    <xsl:for-each select="search/match"> 
    <tr> 
    <td><xsl:value-of select="filename"/></td> 
    <td><xsl:value-of select="linenum"/></td> 
    <td><xsl:value-of select="matchstring"/></td> 
    </tr> 
    </xsl:for-each> 
</table> 
</body> 
</html> 

我想顯示的搜索標籤的命令部分在我開始解決其餘的問題之前。有沒有辦法做到這一點?如果是這樣,怎麼樣?一個搜索不轉了什麼特別相關的...

+0

問得好,+1。查看我的答案,獲取完整而簡短的解決方案。 :) – 2010-11-08 19:08:37

回答

3

我想我之前通過休息開始 解析顯示搜索標籤的命令部分 。

閱讀有關<xsl:value-of> XSLT指令

及用途:

<xsl:value-of select="/search/@command"/> 
+0

感謝您的快速響應。我想我的問題必須處理鉻,因爲它不想顯示屬性。 – basil 2010-11-08 20:04:28

+0

@ user483281:只要您不輸出@command的值作爲屬性,那應該沒關係。如果您使用'',則將它作爲字符串輸出。我還沒有聽說Chrome不想顯示屬性btw ...你的意思是谷歌瀏覽器或Mozilla瀏覽器? – LarsH 2010-11-09 03:53:27