если у меня есть Nokogiri :: XML :: Element, как мне определить его дочерний индекс по отношению к его родителю? То есть:
<foo> <-- parent
<bar/> <-- 1st child
<bar/> <-- 2nd child
</foo>
В Javascriptland jQuery имеет index () , но у Нокогири нет. Nokogiri предоставляет метод path , но он возвращает строку XPath, такую как "/foo/bar[2]"
, и усекает bar[1]
до bar
для загрузки, поэтому превращение этого числа в число немного затруднительно:
element.path.split('/').last.slice(/[0-9]+/) || '1' # quick'n'dirty
element.path.split('/').last.slice(/\[([0-9]+)\]/, 1) || '1' # a bit safer