【发布时间】:2017-05-02 13:24:44
【问题描述】:
我很难弄清楚为什么我在这个基本的 2 部分 xpath 示例中没有得到任何结果,并且我使用 Chrome 的 XPath Helper 来确认第二个 xpath 查询确实正确并且确实返回我正在寻找的行。 有人可以解释为什么它会产生一个空的结果吗?在此示例中,我期望获得以 BNY 作为货币代码的表格行,即中国的人民币。一般来说,我想要请求的任何货币代码的表行数据,或者如果货币代码不在表中,则为空结果。
我还尝试在 html 加载后立即执行第二个 xpath 查询(绕过 xpath 查询以仅检索表),但这会返回所有行。我觉得我在这里做的事情根本上是错误的,但我无法发现它,因为 Chrome 的 XPath Helper 工作正常。
$ccode = 'CNY';
// Create a DOM object
$html = new simple_html_dom();
$url = "http://www.xe.com/symbols.php";
// Load HTML from a URL
$html->load_file($url);
$table = $html->find('table.currencySymblTable', 0);
$xpathQuery = '//table/tbody/tr/td[2][text() = "'.$ccode.'"]/..';
echo $xpathQuery;
$tr = $table->find($xpathQuery);
print_r($tr);
【问题讨论】:
-
你能告诉使用你想要做什么..?
-
我在帖子的末尾提供了几句话来解释我想要做什么,谢谢。
-
SimpleHtmlDom 不是真正的 W3C DOM 实现。不同的 API,没有 Xpath(只是 CSS 选择器的一个子集)。
标签: php xpath simple-html-dom