jpa*_*kal 3 ruby xml parent-child nokogiri
如果我有一个Nokogiri :: XML :: Element,我如何计算其子索引与其父级相关?那是:
<foo> <-- parent
<bar/> <-- 1st child
<bar/> <-- 2nd child
</foo>
Run Code Online (Sandbox Code Playgroud)
在Javascriptland中,jQuery有index(),但Nokogiri没有.引入nokogiri确实提供了一个路径的方法,但返回的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
Run Code Online (Sandbox Code Playgroud)
怎么样:
element.parent.children.index(element)
Run Code Online (Sandbox Code Playgroud)
仅考虑非文本节点:
element.xpath('../*').index(element)
Run Code Online (Sandbox Code Playgroud)
仅考虑条形节点:
element.xpath('../bar').index(element)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2169 次 |
| 最近记录: |