在我的XML中,我有以下内容:
<a>
<b>
<c something="false">
<d>
<e>
<f>someResult</f>
</e>
</d>
</c>
</b>
</a>
现在在循环中的XSL中,我可以执行以下操作:
<xsl:value-of select="f"></xsl:value-of>
但是如何在c中获取属性?
我尝试过以下
<xsl:value-of select="////@something"></xsl:value-of>
除了尝试父母,似乎没有任何工作。你能得到像这样的父节点吗?
另外,我不能这样做:
<xsl:value-of select="/a/b/c/@something"></xsl:value-of>
因为可以有多个c。
答案 0 :(得分:37)
要向上移动树,每个级别使用“..”,在本例中可能是
select="../../../@something"
您还可以按名称(约)
选择祖先节点select="ancestor::c[1]/@something"
答案 1 :(得分:11)
使用强>:
ancestor::c[1]/@something
这将选择第一个(从当前节点向上)祖先名为something
的名为c
的属性。