test.html Sonra açıklıklı bulmak için XPath kullanmaya çalışıyorum ve amXpath ile neyi yanlış yapıyorum?
$doc = new DOMDocument();
$doc->loadHTMLFile("test.html");
$xpath = new DOMXPath($doc);
$retrieve_data = $xpath->evaluate("//span");
echo $retrieve_data->item(1);
var_dump($retrieve_data->item(1));
var_dump($retrieve_data);
<html>
<body>
<span> hello Joe</span>
<span> hello Bob</span>
<span> hello Gundam</span>
<span> hello Corn</span>
</body>
</html>
PHP dosyası bunu yankı ama bunu yankı olamaz gibi görünüyor. Ben düzgün değerlendirdiğini olmadığını görmek için damping çalıştı ve bu çıkış demek ne olduğundan emin değilim: #4
ve #7
demek ve parantez ne demek nedir
object(DOMElement)#4 (0) { }
object(DOMNodeList)#7 (0) { }
; Sözdizimi ne anlama geliyor?
Güncelleme: Ben echo $retrieve_data;
deneyin ve $retrieve_data->item(1);
Catchable fatal error: Object of class DOMNodeList could not be converted to string
Değil sorunuzun cevabı, ancak sorgulama XPath daha bana çok daha doğal hissediyor jQuery yolu nesneleri izin PHP DOM kütüphaneleri vardır. * * Nefret ediyorum * XPath. [PHPQuery] (http://code.google.com/p/phpquery/) PHP DOM kullanır - örnekler [here] (http://phpquery-library.blogspot.com/); [SimpleHTMLDOM] (http://simplehtmldom.sourceforge.net/) dize tabanlı fakat aynı zamanda çok güzel. –
PHP'nin XPath sözdizimini bilmiyorum, ama "// span/text()" yi denediniz mi? Şu anda, öğeleri seçiyorsunuz, ancak metni öğelerin içinde çıkarmak istiyorsunuz. –
@chris_l Bu ** PHP'nin ** XPath Sözdizimi değil. Bu sadece XPath. Başka bir dilde aynı, sadece bu PHP sadece XPath 1.0'ı destekliyor. @Doug sorunuzun XPath ile ilgisi yok. Standart 'var_dump' çıktısının nasıl okunacağını soruyorsunuz. – Gordon