php - 警告:DOMXPath::query():表达式无效

标签 php xpath

我是 Xpath 新手。我想循环遍历 cURL 查询的结果并打印页面上唯一表的每个元素。

我使用了 Firefox 的 Xpath 插件来获取我的表达式,我的表格结构如下:

<table>
<tr class="listItemOneBg">
    <td valign="top">
        SMITH
    </td>
    <td valign="top">
        WILLIAM C C
    </td>
    <td valign="top">
        Male
    </td>
    <td valign="top">

    </td>
    <td valign="top">

    </td>
    <td valign="top">

    </td>
    <td valign="top">

    </td>
    <td valign="top">
        BLACKWOOD
    </td>
    <td valign="top">
        61
    </td>
    <td valign="top">
        1924
    </td>
    <td valign="top">
        <a target="_blank" href='XXX'>
            order</a>
    </td>
</tr>

<tr class="listItemTwoBg">
    <td valign="top">
        SMITH
    </td>
    <td valign="top">
        WILLIAM C PAGE-
    </td>
    <td valign="top">
        Male
    </td>
    <td valign="top">

    </td>
    <td valign="top">

    </td>
    <td valign="top">

    </td>
    <td valign="top">

    </td>
    <td valign="top">
        SWAN
    </td>
    <td valign="top">
        9
    </td>
    <td valign="top">
        1914
    </td>
    <td valign="top">
        <a target="_blank" href='XXY'>
            order</a>
    </td>
</tr>       

这是我迄今为止尝试过的代码。我收到一条消息“警告:为 foreach() 提供的参数无效”。我做错了什么?

$page = curl_exec($ch);
curl_close($ch);

// Create new PHP DOM document
$dom = new DOMDocument;
// Load html from curl request into document model
@$dom->loadHTML($page);
$xpath = new DOMXPath($dom);

$tableRows = $xpath->query("id('divResults')/table/tbody/tr");
foreach ($tableRows as $row) {
     // fetch all 'tds' inside this 'tr'
    $td = $xpath->query('td', $row);
    echo $td->item(1)->textContent;
}

最佳答案

假设您要查找的表实际上位于 <div id="divResults"> 中...

$tableRows = $xpath->query('//div[@id="divResults"]/table/tbody/tr');
foreach ($tableRows as $row) {
    $cells = $row->getElementsByTagName('td');
}

关于php - 警告:DOMXPath::query():表达式无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19208213/

相关文章:

php - 在处理数千个事件时 ics 格式是个好主意吗?

python | Selenium |继续输出页面源代码,而不是我手动检查元素时看到的内容

PHP XPath 搜索返回 0 个结果

html - 当我们在Google Chrome开发人员工具上使用“删除元素”时,它是否真的从实时全局服务器中删除了该元素?

php - 数据库大小与 PHP 处理速度

php - 我可以在没有任何 WooCommerce 页面的情况下使用 WooCommerce 功能吗?

php - 数组中的空值作为第一项 (PHP)

php - 第 2 行第 1 列错误 : Extra content at the end of the document in web service

javascript - 从 javascript : document. 突出显示 html 评估返回空节点

python - Scrapy shell 中的奇怪 XPath 结果