Xpath - 选择具有属性的元素并获取另一个属性值

Posted

技术标签:

【中文标题】Xpath - 选择具有属性的元素并获取另一个属性值【英文标题】:Xpath - select element with attribute and take another attribute value 【发布时间】:2019-10-18 11:41:10 【问题描述】:

我有这个代码:

 <li datetime="2019-06-03T14:45" offset="-135" type="standard"></li>
... etc.

如果所有元素都包含属性type 和值standard,我如何获得datetime 属性值?那么我如何从每个li 元素中获取datetime 值(2019-06-03T14:45)

我试过了:

$timeslots = [];
$dom = new \DOMDocument();
@$dom->loadhtml($html);
$xpath = new \DOMXPath($dom);
$entries = $xpath->query('//li[@type="standard"])/@datetime');

foreach($entries as $e) 
  $timeslots[] = $e->textContent;


$ts = $timeslots;
return $ts;

但我得到了一个错误:

DOMXPath::query(): 无效的表达式

【问题讨论】:

认为这是li[@type="standard"])/中额外的) 谢谢,答案正确 【参考方案1】:

认为问题已经解决,我只是想提供一个想法,您可以如何快速检查您的 xpath here。

如果 xpath 不正确,这将为您提供消息,并且您可以了解问题所在。

【讨论】:

以上是关于Xpath - 选择具有属性的元素并获取另一个属性值的主要内容,如果未能解决你的问题,请参考以下文章

Xpath 获取具有至少一个属性的所有元素

如何在具有 xmlns 属性的 xml 中使用 xpath 获取特定的嵌套元素? [复制]

css 或 xpath 选择器:具有特定值的任何属性的元素

具有特定值的任何属性的所有元素的 XPath?

XPath/HtmlAgilityPack:如何查找具有属性 (href) 特定值的元素 (a) 并查找相邻的表列?

selenium-xpath选择操作web元素