我正在尝试在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)]
如果我们可以看到导致您的问题的行上的代码,那将非常有帮助。