关于xslt:鉴于此XML,是否有一个xpath可以给我“测试”和“名称”值?

关于xslt:鉴于此XML,是否有一个xpath可以给我“测试”和“名称”值?

Given this XML, is there an xpath that will give me the 'test' and 'name' values?

我需要在xsl:when标记中获取'test'属性的值,并在xsl:call-template标记中获取'name'属性的值。 这个xpath使我非常接近:

1
..../xsl:template/xsl:choose/xsl:when

但这只是返回"何时"元素,而不是我需要的确切属性值。

这是我的XML的代码段:

1
2
3
4
5
6
<xsl:template match="field">
    <xsl:choose>
    <xsl:when test="@name='First Name'">
        <xsl:call-template name="handleColumn_1" />
    </xsl:when>
</xsl:choose>

您是否要.../xsl:template/xsl:choose/xsl:when/@test

如果您想从测试属性中实际获取值" First Name",那么您就不走运了-属性内的内容只是一个字符串,而不是一段xml,因此您无法对其进行xpath 。 如果需要获取该内容,则必须使用字符串操作(例如,子字符串)来获取正确的内容


史蒂夫·库珀回答了第一部分。 对于第二部分,您可以使用:

1
.../xsl:template/xsl:choose/xsl:when[@test="@name='First Name'"]/xsl:call-template/@name

在上述代码段中,该代码将与xsl:专门匹配。 如果您希望它与一般匹配,则可以使用:

1
.../xsl:template/xsl:choose/xsl:when/xsl:call-template/@name


推荐阅读

    linux命令软件测试?

    linux命令软件测试?,电脑,软件,工具,信息,系统,人员,检测,网络,管理,基础,数

    linux渗透测试命令?

    linux渗透测试命令?,网络,信息,网站,系统,工具,平台,地址,服务,分析,单位,渗

    linux测试性能命令?

    linux测试性能命令?,系统,网络,信息,工具,状态,地址,指标,情况,分析,下行,五

    linux运维测试命令?

    linux运维测试命令?,基础,管理,系统,服务,基础知识,网络,工具,工作,企业,命

    linux中测试网络命令?

    linux中测试网络命令?,网络,系统,管理,工作,命令,基础,信息,网址,网站,情况,L

    linux修改名称命令?

    linux修改名称命令?,系统,名称,图片,查询系统,代码,名字,命令,用户,文件名,

    linux综合测试命令?

    linux综合测试命令?,工作,系统,网络,信息,电脑,命令,目录,地址,管理,标准,lin

    linux测试dns命令?

    linux测试dns命令?,系统,网络,地址,服务,客服,环境,状态,基础,管理,命令,linu

    测试linux常用命令?

    测试linux常用命令?,工作,地址,系统,信息,命令,目录,情况,标准,功能,控制台,l

    测试linux常用命令?

    测试linux常用命令?,工作,地址,系统,信息,命令,目录,情况,标准,功能,控制台,l

    linux命令测试客户端?

    linux命令测试客户端?,地址,系统,网络,工具,工作,分析,环境,命令,下行,资料,l

    linux改u盘名称命令?

    linux改u盘名称命令?,系统,电脑,设备,名称,位置,工具,入主,盘中,地址,第一,li

    linux测试url命令?

    linux测试url命令?,系统,网络,地址,基础,分析,工作,命令,实战,管理,认证,如何

    linux命令查看包属性?

    linux命令查看包属性?,时间,系统,信息,状态,命令,文件,通讯录,管理,情况,标

    测试linux一般命令?

    测试linux一般命令?,工作,系统,地址,信息,命令,管理,数据,标准,单位,目录,lin

    linux命令测试流量?

    linux命令测试流量?,工具,系统,实时,网址,网络,情况,地址,状态,时间,电脑,查

    测试用的linux命令?

    测试用的linux命令?,地址,系统,工作,信息,网络,管理,基础,命令,电脑,目录,软

    linux性能测试命令?

    linux性能测试命令?,数据,系统,工具,标准,设备,地址,情况,基础,网络,环境,如

    linux并发测试命令?

    linux并发测试命令?,网络,地址,系统,工作,服务,网址,检测,软件,标准,信息,lin

    linux修改命令名称?

    linux修改命令名称?,时间,系统,名称,图片,保险,代码,名字,一致,命令,文件,为