首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DOMXPath不工作

DOMXPath不工作
EN

Stack Overflow用户
提问于 2015-09-15 13:42:46
回答 2查看 1.7K关注 0票数 1

我正试图在网上商店获得产品的价格,但DOMXPath doest似乎正在起作用。

服务器正在运行PHP5.5,并且启用了LibXML。不返回错误,只返回零的长度。

代码语言:javascript
复制
 ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);
session_start();

$xmlsource = 'https://tennistoko.nl/product/professional-supreme-comfort-grip-3-st';

$d = new DOMDocument();
$d->loadHTML($xmlsource);
$xpath = new DOMXPath($d);




$nodes = $xpath->query('//*[@itemprop]');  //this catches all elements with itemprop attribute
foreach ($nodes as $node) { 
   // do your stuff here with $node
   print_r($node);
}    


print_r($nodes);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-15 14:04:07

loadHTML用于从字符串加载HTML,从文件中加载或者使用loadHTMLFile来加载url。

代码语言:javascript
复制
$xmlsource = 'https://tennistoko.nl/product/professional-supreme-comfort-grip-3-st';

$d = new DOMDocument();
@$d->loadHTMLFile($xmlsource);      // @ if for suppressing warnings
$xpath = new DOMXPath($d);

$nodes = $xpath->query('//*[@itemprop]');  //this catches all elements with itemprop attribute
foreach ($nodes as $node) { 
   // do your stuff here with $node
   print_r($node);
} 
票数 2
EN

Stack Overflow用户

发布于 2015-09-15 14:12:40

尝试添加/在url末尾添加/,否则文档为空,并按照Danijel的建议使用loadHTMLFile:

代码语言:javascript
复制
$xmlsource = 'https://tennistoko.nl/product/professional-supreme-comfort-grip-3-st/';//changed your code here
$d = new DOMDocument();
@$d->loadHTMLFile($xmlsource);      // @ if for suppressing warnings
$xpath = new DOMXPath($d);
$nodes = $xpath->query('//*[@itemprop]');  //this catches all elements with   itemprop attribute
foreach ($nodes as $node) { 
  // do your stuff here with $node
  print_r($node);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32587690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档