Найти положение узла, используя xpath, используя атрибуты - PullRequest
1 голос
/ 06 марта 2012

Как я могу получить положение узла на основе определенного значения атрибута?В следующем посте показано, как это сделать с элементами:

Найти позицию узла, используя xpath

Так что если мы изменим пример xml в посте, упомянутом выше, на:

<a>
    <b val="zyx" />
    <b val="wvu" />
    <b val="tsr" />
    <b val="qpo" />
</a>

Как мне получить позицию a / b [@val = 'tsr']?

1 Ответ

1 голос
/ 06 марта 2012

Должно быть почти таким же:

count(a/b[@val='tsr']/preceding-sibling::*)+1

Пример использования ...

XSLT 1.0

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:template match="/">
    <xsl:value-of select="count(a/b[@val='tsr']/preceding-sibling::*)+1"/>
  </xsl:template>

</xsl:stylesheet>

Выход:

3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...