XSLT跟随兄弟姐妹问题

时间:2015-03-06 09:55:01

标签: xslt-1.0

<root>
        <A>
            ...
        </A>
        <A1>Text</A1>
        <A1>Text</A1>
        <B1>Text</B1>
        <C1>Text</C1>
        <A>
           ..
        </A>
        <A1>Text</A1>

在上面的例子中,我想选择第一个A的所有兄弟姐妹是A1。如果我把&#34; follow-sibling :: * [self :: A]&#34;然后它将只选​​择第一个A1。但是我想选择所有A1后跟A的A1。没有规则像B1标签将在A1之后。任何标签都可以在A1之后。 请帮助解决这个问题。

1 个答案:

答案 0 :(得分:0)

  

如果我输入“follow-sibling :: * [self :: A]”,那么它只会选择   第一个A1。

我认为你的意思是:

following-sibling::*[self::A1]

可以简单地写成:

following-sibling::A1

选择跟随上下文节点的兄弟节点的所有 A1个节点。您可能认为它只选择第一个因为您使用select语句的方式。例如,在XSLT 1.0中的指令:

<xsl:value-of select="following-sibling::A1"/>

将返回所选集合中第一个A1节点的值。