无法使用 xPath 在元素后获取文本

让-米歇尔·富尼耶

首先,对不起我的英语。

在查看了许多关于我的问题的主题后,我没有找到任何可以让我的 xPath 工作的东西。

这是我想从中提取数据的站点:mysite

<td width="50%" valign="top">
    <span class="libelleLecture">Nom de la résidence&nbsp;:</span><br>
    La Maison du Soleil (Sylvie Paquette)
</td>

我想从名为“Nom et coordonnées de la résidence”的表中提取所有信息

对于第一个数据(Nom de la résidence),我尝试了这个 xpath 没有运气

//*[@id="pourImpression"]/table[2]/tbody/tr[2]/td[1]/text()

出于某种原因,当我尝试回应它时,这没有任何回报。

然后我试过了

//*[@class="libelleLecture"]/following::br/text()

什么都没有出现...

但是当我尝试使用时,//*[@class="libelleLecture"]我得到了所有需要的“数据标题”但没有值

Nom de la résidence :
Code postal :
...

任何人都知道我的错误在哪里?谢谢。

编辑

我无法让它工作,html 错误 500。/following::br/following-sibling::text() 似乎创建了错误。任何想法?

这是我的代码:

$my_url = 'http://wpp01.msss.gouv.qc.ca/appl/K10/public/formulaire/K10FormCons.asp?noForm=1423';
$html = file_get_contents($my_url);
$dom = new DOMDocument();
@$dom->loadHTML($html);
$xpath = new DOMXPath($dom);

$my_xpath_query1 = '//*[@class="libelleLecture"]/following::br/following-sibling::text()';
$result_rows1 = $xpath->query($my_xpath_query1);

foreach ($result_rows1 as $result_object1){
    $nom = $result_object1->childNodes->item(0)->nodeValue;
    echo $nom."<br>";
}
har07

从您的第二个 XPath 构建,目标文本节点不是子节点br而是兄弟节点

//*[@class="libelleLecture"]/following::br/following-sibling::text()

结果在 Firefox 的 Firepath 中:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章