-1

私は私のコードCall to undefined method DOMDocument::xpath()の行に取得しています:$level1

          $doc = new DOMDocument();
          $doc->strictErrorChecking = FALSE;
          $doc->loadHTML($html);
          $xml = simplexml_import_dom($doc);
          $level1 = $doc->xpath('//*[contains(concat(" ", normalize-space(@class), " "), " category-wrap ")]/h2/a');

ロードしているhtmlは次のとおりです(経由file_get_contents()):

<div class="category-wrap">
   <a href='#'>LINK</a>
   <h2><a href="#">Trying to get this....</a></h2>
   <p>A description</p>

</div>

この回答を xpath クエリのリファレンスとして使用しています。

クエリの何が問題になっていますか?

4

1 に答える 1

3

xpathDOMDocumentのようなメソッドはありません。http://php.net/manual/en/class.domdocument.phpを参照してください。

xpath クエリを使用するには、DOMXpath のインスタンスを初期化する必要があります

$doc = new DOMDocument();
$doc->strictErrorChecking = FALSE;
$doc->loadHTML($html);

$xpath = new DOMXpath($doc);

または、作成した SimpleXMLObject のメソッドを呼び出します

$level1 = $xml->xpath('//*[contains(concat(" ", normalize-space(@class), " "), " category-wrap ")]/h2/a');
于 2013-07-08T22:34:04.150 に答える