gpt4 book ai didi

css - perl XML::LibXML 不是选择器

转载 作者:行者123 更新时间:2023-12-02 02:56:30 24 4
gpt4 key购买 nike

在以下 HTML 片段中:

<div><p class="a b c"></p> <p class="a c"></p> <p class="d"></p> </div>

我只想选择第二个 p使用 a 的元素(具有 b 类且不具有 not 类)选择器如下:

p.a:not(.b)

对应的 xpath 是

.//p[contains(concat(' ', normalize-space(@class), ' '), ' a ')][not(self::*[contains(concat(' ', normalize-space(@class), ' '), ' b ')])] .

但是当我使用 xpath 表达式时,它无法找到该元素。

还有什么可以用来达到 not 的效果吗?选择器?

更新:看来我犯了一个错误,因为p.a:not(.b)和它的 xpath 对应物似乎确实非常适合 XML::LibXML .

它不起作用,因为我得到了 if 之一条件错误...

最佳答案

要获得您想要的内容,只需使用此 XPath:

//p[@class[not(contains(.,"b"))]]

换句话说:选择一个带有 @class 属性且不包含“b”的 p 元素。

编辑:更具体地说(类必须包含 a 但不包含 b):

//p[@class[contains(.,"a")] and not(@class[contains(.,"b")])]

关于css - perl XML::LibXML 不是选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61037227/

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