XPath 适用于 Chrome Inspect ,但不适用于 PHP



我正在尝试在XPath中使用OR运算符,它适用于Chrome Inspect。但它使它无法在PHP上运行。没有OR运算符的初始XPath在PHP中工作得很好。

这是初始 XPath:

//h4[text()="Description"]/following-sibling::*[not(@class)][not(@style)]

这是修改后的XPath

//h4[text()="Description"]/following-sibling::*[not(@class)|@class="MsoNormal"][not(@style)]

抱歉,由于工作披露,我无法提及该链接。

修改后的XPath之后,我从PHP脚本中得到了这个错误:

Warning: DOMXPath::query(): Invalid type in D:xampphtdocsPHP projects<project_name><project_name>libcustomclass_ff_parser.php on line 660
Warning: DOMXPath::query(): Invalid expression in D:xampphtdocsPHP projects<project_name><project_name>libcustomclass_ff_parser.php on line 660

我打算发表评论,但我的声誉太低了。

与其使用">

|"作为OR运算符,不如使用单词"or"。可能是您的 php 脚本可能无法解析"|"字符。

所以:

//h4[text()="Description"]/following-sibling::*[not(@class) or @class="MsoNormal"][not(@style)]

如果我们可以看到导致您的问题的行上的代码,那将非常有帮助。

最新更新