Xslt 从xsl读取值

Xslt 从xsl读取值,xslt,Xslt,我有一个类似于: <UserData> <UserDataField name="IsShipAllow">true</UserDataField> <UserDataField name="OrderType">InHouse</UserDataField> <UserDataField name="OrderStockType">INSTOCK</UserDataField&g

我有一个类似于:

 <UserData>
      <UserDataField name="IsShipAllow">true</UserDataField>
      <UserDataField name="OrderType">InHouse</UserDataField>
      <UserDataField name="OrderStockType">INSTOCK</UserDataField>
 </UserData>

真的
室内
因斯托克
当name=“OrderStockType”时,我想读取字段的值=INSTOCK

我将xsl编写为

<xsl:choose>
<xsl:when test="UserData/UserDataField/@name = 'OrderStockType'">
                            <xsl:attribute name="Type">
                                <xsl:value-of select="UserData/UserDataField/@name" />
                            </xsl:attribute>
                        </xsl:when>
                            <xsl:otherwise>
                            <xsl:attribute name="Type">FALSE</xsl:attribute>
                        </xsl:otherwise>
                    </xsl:choose>

错误的

为什么要使用xsl从XML获取值?这样做容易多了。请尝试
/UserData/UserDataField[@name='OrderStockType']

您的XSL代码段是无用的,因为我们不知道执行时上下文节点是什么-请参阅:。发生了什么?它是如何失败的?(我假设它失败了,否则你就不会问这个问题了)。你想产生什么样的输出呢?它不会出错,不会拾取任何值。我曾经按照扎罗的建议使用xpath。它起作用了。