xslt: value of text associated with element

2020-07-02 09:36发布

If I have an XML file that includes

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

and I want to use XSLT to process this into an HTML file, with the name and value attributes and the text as a description, how can I get the XML node text?

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

The above XSLT fragment does successfully get the name and value attributes, but it fails to get the text, and I think I'm missing something obvious but I don't know what.

标签: xml xslt
2条回答
女痞
2楼-- · 2020-07-02 10:12

aha, this also seems to work:

<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>
查看更多
一夜七次
3楼-- · 2020-07-02 10:19

Try this

<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>
查看更多
登录 后发表回答