ruby – 如何计算Nokogiri节点后代的“级别”数?
发布时间:2020-12-17 02:10:40 所属栏目:百科 来源:网络整理
导读:您可以调用Nokogiri :: XML :: Node#ancestors.size来查看节点嵌套的深度.但有没有办法确定一个节点的嵌套最深的子节点的嵌套程度有多深? 或者,如何找到从节点下降的所有叶节点? 解决方法 You can call Nokogiri::XML::Node#ancestors.size to see how dee
您可以调用Nokogiri ::
XML :: Node#ancestors.size来查看节点嵌套的深度.但有没有办法确定一个节点的嵌套最深的子节点的嵌套程度有多深?
或者,如何找到从节点下降的所有叶节点? 解决方法
使用: count(ancestor::node()) 此表达式表示上下文(当前)节点在文档层次结构中具有的祖先数. 要找到“最深嵌套的子级”的嵌套级别,必须首先确定所有“叶子”节点: descendant-or-self::node()[not(node())] 并为每个人使用上面的XPath表达式获得他们的嵌套级别. 然后必须计算最大嵌套级别(生成的所有数字的最大值),并且使用纯XPath 1.0无法进行最后的计算. 这可以在单个XPath 2.0表达式中表达: max(for $leaf in /descendant-or-self::node()[not(node())],$depth in count($leaf/ancestor::node()) return $depth ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |