Xml xslt:与元素关联的文本的值

Xml xslt:与元素关联的文本的值,xml,xslt,Xml,Xslt,如果我有一个包含 <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> foo是一种制作意大利面酱的方法 酒吧正在控制啤酒龙头 我想使用XSLT将其处理成一个HTML文件,使用名称和值属性以及文本作为描述,

如果我有一个包含

<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>
foo是一种制作意大利面酱的方法 酒吧正在控制啤酒龙头 我想使用XSLT将其处理成一个HTML文件,使用名称和值属性以及文本作为描述,如何获取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属性,但它没有获得文本,我想我遗漏了一些明显的东西,但我不知道是什么。

试试这个

<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>

啊哈,这似乎也能奏效:

<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>

是。区别是:
xsl:value of select=“text()”
输出第一个文本节点子节点的字符串值,以及
xsl:value of select=“.”“
输出上下文节点的字符串值。