【发布时间】:2023-04-11 04:09:01
【问题描述】:
我在 Google App Engine for PHP 上使用 XPath 时遇到问题。
所以我有以下代码:
function getDataXpath($url_str, $xpath_exp_str)
{
$doc = new DOMDocument();
libxml_use_internal_errors(true);
$doc->loadHTMLFile($url_str);
libxml_use_internal_errors(false);
$xpath = new DOMXpath($doc);
$elements = $xpath->query("".$xpath_exp_str."");
if (!is_null($elements)) {
return $elements;
}
return false;
}
然后我只是像这样运行它来获取节点:
getDataXpath($url_str, $xpath_exp_str);
所以在我的本地 PHP 安装 (v 5.5.19) 上,当我运行以下命令时:
$url_str = 'http://www.alexa.com/topsites/category;0/Top/Shopping';
$xpath_exp_str = "//ul/li[@class='site-listing']/div/p/a";
$xpath_data = getDataXpath($url_str, $xpath_exp_str);
print_r($xpath_data);
我得到以下结果:
DOMNodeList Object ( [length] => 25 );
这是正确的。
但是,当我在 Google App Engine for PHP (v 5.5.26) 上运行相同的代码时,我得到以下信息:
DOMNodeList Object ( [length] => 0 );
有人遇到过这个问题吗,你是怎么解决的?
【问题讨论】:
标签: php google-app-engine xpath google-app-engine-php