Olmayan bir nesne üzerinde bir üye işlev xpath () aramak?

2 Cevap php

Ben SimpleXML kullanarak bir web sitesinden bir görüntü kapmak için çalışıyorum ve ben olmayan bir nesne üzerinde bir üye işlev xpath() aramak çalışıyorum söyleyerek bir PHP hatası alıyorum.

Aşağıda görüntünün kaynak etiketi almak için kullanmaya çalışıyorum hatları şunlardır:

$xpath = '/html/body/div/div/div[5]/div/div/div[2]/div/div[2]/img';          
$html = new DOMDocument();
@$html->loadHTMLFile($target_URL);
$xml = simplexml_import_dom($html);   
$source_image = $xml->xpath($xpath);
$source_image = $source_image[0]['src'];

Ben yanlış ne yapıyorum? Geçen hattına ikinci bir sorunu var oldukça açık, ama ne olduğundan emin değilim.

2 Cevap

Önce belgenin doğru ayrıştırılır ediliyor emin olmak için bu kodu deneyin.

$xpath = '/html/body/div/div/div[5]/div/div/div[2]/div/div[2]/img';          
$html = new DOMDocument();
@$html->loadHTMLFile($target_URL);
$xml = simplexml_import_dom($html);   
if (!$xml) {
    echo 'Error while parsing the document';
    exit;
}
$source_image = $xml->xpath($xpath);
$source_image = $source_image[0]['src'];

Sorun çözüldü. Boş bir dize XPath'i Komiklik edildi.