Ben xpath için yeni ve PHP'nin eski XPath uygulanması ile sıkıntılar içine çalıştırıyorum. O //@url
sadece kısaltılmış şeklidir olduğu doğru mudur //attribute::url
? Ben test için flickr rss sorgulamak çalışıyorum, ama ayrıntılı bir 0 öğeleri döndürür ise kısaltılmış sorgu, doğru düğümleri bulur:
$xml = file_get_contents('http://api.flickr.com/services/feeds/geo/?format=rss_200');
$doc = new DOMDocument();
$doc->loadXML($xml);
$xpath = new DOMXPath($doc);
$xpath->query('//media:content/@url')->length > 0;
$xpath->query('//media:content/attribute::url')->length == 0;
Ben w3c specs anlamadığı veya bu bir PHP hata mı?
İlgili soru:
Başarılı bir sorgu döndürür DOMAttr
objects as expected. But is there no way to get the text value of these nodes directly? Something like //media:content/attribute::url/child::text()
? Ben XPath sorguları kullanıcılar tarafından girilmiş olacaktır ve ben (yerine DOM * nesnelerin çok sayıda için kodlama) DOMText nesneler bekliyor olabilir eğer hata algılama çok daha iyi olurdu bir araç için bu gerekir.