选择与start-with名称匹配的元素

cc9*_*6ai 4 xslt

我有这样的XML

<extra>
    <name>format-xml</name>
    <value>excel.xls</value>
</extra>
<extra>
    <name>format-java</name>
    <value>hello.java</value>
</extra>
<extra>
    <name>Date</name>
    <value>someday</value>
</extra>
<extra>
    <name>version</name>
    <value>2</value>
</extra>
Run Code Online (Sandbox Code Playgroud)

我想用XSLT来获取泡沫 - 名称

我尝试开始,但它不起作用

<xsl:for-each select="extra[starts-with(name(),'format-')]">
    Format name:  <xsl:apply-templates select="name" />
    Format value:  <xsl:apply-templates select="value" />           
</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)

Mad*_*sen 9

name()将为您提供上下文节点的名称(在您的示例中为<extra>).您正在尝试匹配<name>元素的值.

将select语句调整为:

extra[starts-with(name,'format-')]
Run Code Online (Sandbox Code Playgroud)