<root>
<A>
...
</A>
<A1>Text</A1>
<A1>Text</A1>
<B1>Text</B1>
<C1>Text</C1>
<A>
..
</A>
<A1>Text</A1>
在上面的例子中,我想选择第一个 A 的所有兄弟姐妹,即 A1。如果我输入"以下兄弟姐妹::*[self::A]",那么它将只选择第一个 A1。但我想选择所有 A1,后跟 A。没有像 B1 标签那样的规则会在 A1 之后出现。任何标签都可以在 A1 之后出现。请帮助解决此问题。
如果我输入"以下兄弟姐妹::*[self::A]",那么它将只选择 第一个 A1。
我想你的意思是:
following-sibling::*[self::A1]
可以简单地写成:
following-sibling::A1
这将选择跟随上下文节点的同级节点的所有A1
节点。您可能认为它只选择第一个,因为您如何使用 select
语句。例如,在 XSLT 1.0 中,指令:
<xsl:value-of select="following-sibling::A1"/>
将返回所选集中第一个A1
节点的值。