xslt:与元素关联的文本值

时间:2010-08-12 15:33:19

标签: xml xslt

如果我有一个包含

的XML文件
<param name="foo" value="5000" >foo is a way of making pasta sauce</param>
<param name="bar" value="3000" >bar is controlling the beer taps</param>

我希望使用XSLT将其处理为HTML文件,其中包含name和value属性以及文本作为描述,如何获取XML节点文本?

<xsl:for-each select="param">
   <tr>
      <td><xsl:value-of select="@name"/></td>
      <td><xsl:value-of select="@value"/></td>
      <td><xsl:text> </xsl:text></td>
   </tr>
</xsl:for-each>

上面的XSLT片段确实成功获取了name和value属性,但是它无法获取文本,我认为我遗漏了一些明显的东西,但我不知道是什么。

2 个答案:

答案 0 :(得分:15)

试试这个

<xsl:for-each select="param">
   <tr>
      <td><xsl:value-of select="@name"/></td>
      <td><xsl:value-of select="@value"/></td>
      <td><xsl:value-of select="text()"/></td>
   </tr>
</xsl:for-each>

答案 1 :(得分:4)

啊哈,这似乎也有效:

<xsl:for-each select="param">
   <tr>
      <td><xsl:value-of select="@name"/></td>
      <td><xsl:value-of select="@value"/></td>
      <td><xsl:value-of select="."/></td>
   </tr>
</xsl:for-each>