如何通过xslt获取xml属性中的值到变量

时间:2013-06-26 12:43:14

标签: xml xslt xpath xslt-2.0

XML:

<sheet>
    <row num="4">
        <cell num="1">Customer CODE</cell>
        <cell num="2">2213213</cell>
    </row>
    <row num="5">
        <cell num="1">header</cell>
        <cell num="4">12312</cell>
    </row>
</sheet>

我想设置为变量值5。因为在第5行中有单元格[@ num ='1']等于header

这只是返回true

<xsl:variable name="header_pos" select="//row/cell[@num='1']='header'"/>

但我不知道如何获取该单元格的行数值。你能帮忙吗

2 个答案:

答案 0 :(得分:4)

这是您正在寻找的表达方式:

<xsl:variable name="header_pos" select="//row[cell[@num='1']='header']/@num"/>

即当属性为num ='1'的单元格的值为'header'时获取行

答案 1 :(得分:2)

试试这个:

<table xsl:version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="header_pos" select="sheet/row/cell/@num" />
<xsl:value-of select="$header_pos" separator=", "/>
</table>