<xsl:template match="//a//b">...</xsl:template>
几乎是我想要的。 但它不会选择例如这个:(B 在里面 B 在 A 里面(
<x>
<y>
<a>
<b>
<b>THIS</b>
</b>
</a>
</y>
</x>
有人有想法吗?
我试过这个,有什么相同的作用:
<xsl:template match="//b[ancestor::a]">
首先,匹配例如,它不会选择这个:(B 在 B 在 A 里面(
不是选择,而是匹配。因此,//
前缀对匹配模式没有任何作用。在任何情况下,所有这些都匹配模式:
match="//a//b"
match="a//b"
match="//b[ancestor::a]">
match="b[ancestor::a]">
将匹配示例中的两个b
元素。如果您找到其他内容,请检查您的方法:很可能,您的模板不应用任何模板 - 因此处理器永远不会到达内部b
。