我不知道如何从 XML 文档访问标签中的所有属性。
假设我有以下 XML:
<names>
<name firstname="Rocky" lastname="Balboa" divider=", "/>
<name firstname="Ivan" lastname="Drago" divider=", "/>
</names>
Run Code Online (Sandbox Code Playgroud)
我想要以下输出:
Rocky Balboa, Ivan Drago,
我目前拥有的是:
<xsl:for-each select="names/name">
<xsl:value-of select="@firstname"/>
<xsl:value-of select="@lastname"/>
<xsl:value-of select="@divider"/>
</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)
我想知道的是,是否可以只在一个值中执行此操作,而不必执行其中三个。所以澄清一下,我希望能够用一个单一的选择值输出标签中的所有属性。这可能吗?
谢谢。
尝试以下操作:
<xsl:template match="/">
<xsl:for-each select="names/name/@*">
<xsl:value-of select="concat( ., ' ')"/>
</xsl:for-each>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
您可以使用此 XPath @* 来获取所有属性,例如:
<xsl:template match="/*">
<xsl:for-each select="@*">
<xsl:value-of select="concat(name(), ': ', ., ' ')"/>
</xsl:for-each>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
这将允许您仅使用一个 select 值来获得您想要的输出。它将考虑所有属性。
这应该足以让您弄清楚事情。如果您还有其他问题,请告诉我。
| 归档时间: |
|
| 查看次数: |
24547 次 |
| 最近记录: |