5
$store = curl_exec($ch); // Returns a page of HTML

$doc = new DOMDocument();
$doc->loadHTML($store);
$xpath = new DOMXpath($doc);

Vardump $xpath:

object(DOMXPath)#2 (1) { 
    ["document"] => string(22) "(object value omitted)" 
} 

What is wrong here? I'm trying to use xpath on the HTML code to extract info.

object(DOMDocument)#1 (34) {
    ["doctype"]         => string(22) "(object value omitted)" 
    ["implementation"]  => string(22) "(object value omitted)" 
    ["documentElement"] => string(22) "(object value omitted)" 
    ["actualEncoding"]  => string(6) "gb2312" 
    ["encoding"]        => string(6) "gb2312"
    ["xmlEncoding"]     => string(6) "gb2312" 
    ["standalone"]      => bool(true) 
    ...
hakre
  • 193,403
  • 52
  • 435
  • 836
CodeGuru
  • 3,645
  • 14
  • 55
  • 99
  • 2
    that's not how xpath works... xpath is a search engine for DOM documents, it's **NOT** the document you loaded. – Marc B Jul 01 '13 at 04:15

1 Answers1

3

loadHTMLFile requires path of the html file not the content of the html file loadhtmlfile. So your code will be

$doc = new DOMDocument();
$doc->loadHTMLFile("path to html file");
$xpath = new DOMXpath($doc);

Edit

If you want to load from html content use loadhtml

$doc = new DOMDocument();
$doc->loadHTML($store);
$xpath = new DOMXpath($doc);
Yogesh Suthar
  • 30,424
  • 18
  • 72
  • 100