2017-08-09 25 views
0

XPathでOR演算子を使用しようとしていますが、Chrome Inspectで動作します。しかし、それはPHP上で動作しないようにします。 OR演算子のない最初のXPathは、PHPで正常に動作していました。XPathはChrome Inspectで動作しますが、PHPでは動作しません

これは初期のXPathです:私は、これは私がこのリンク用に変更するXPath後

http://websiteproperties.com/websites/13425-trademarked-brand-mens-personal-care-product-amazon-fba/

をそれを使用して修正するXPath

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

ある

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

PHPスクリプトからこのエラーが発生しました:

Warning: DOMXPath::query(): Invalid type in D:\xampp\htdocs\PHP projects\Centurica\centurica\lib\custom\class_ff_parser.php on line 660 

Warning: DOMXPath::query(): Invalid expression in D:\xampp\htdocs\PHP projects\Centurica\centurica\lib\custom\class_ff_parser.php on line 660 
+0

問題の再現に使用できるXMLとコードの小さな例を示してください。 – ThW

答えて

0

私はコメントを残そうとしていましたが、私の評判は低すぎます。

"|"を使用するのではなく、 OR演算子として、おそらく "or"という単語を使用します。あなたのPHPスクリプトが "|"を解析できないことがあります。キャラクター。だから、

:私たちはあなたの問題を引き起こしている行のコードを見ることができれば

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

それは本当に参考になります。

関連する問題