我有这样的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)
name()将为您提供上下文节点的名称(在您的示例中为<extra>).您正在尝试匹配<name>元素的值.
将select语句调整为:
extra[starts-with(name,'format-')]
Run Code Online (Sandbox Code Playgroud)