gpt4 book ai didi

css - hpricot:查找没有 B 或 C 类型祖先的 A 类型元素

转载 作者:行者123 更新时间:2023-11-28 14:08:15 26 4
gpt4 key购买 nike

我正在使用 hpricot 来处理一些外部生成的 HTML。

查找一种类型(在我的例子中:img)具有其他类型(在我的例子中:p 或 div)的祖先的元素的最简单方法是什么?

我认为 XPath 表达式 //img[not ancestors::div and not ancestors::p] 应该可以满足我的要求。不幸的是 hpricot 显然不支持祖先轴。据我所知,CSS 中没有我可以使用的“没有这样的祖先”运算符。

最佳答案

我使用集合运算解决了我的问题。我获取了所有 A 节点并减去具有 B 或 C 祖先的节点。这些集合很容易表达,而且我的问题足够小,我不会遇到性能或资源问题。

(doc.search("img") - doc.search("p img") - doc.search("div img")).each do |node|
# process node
end

关于css - hpricot:查找没有 B 或 C 类型祖先的 A 类型元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9721478/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com