【问题标题】:Use DOMXpath query to retrieve all nodes with a class=integer使用 DOMXpath 查询检索所有具有 class=integer 的节点
【发布时间】:2014-04-02 21:27:42
【问题描述】:

我目前有这部分 html,其跨度为整数:

<span class="1">
    .. some other stuff
</span>
<span class="2">
    .. some other stuff
</span>
<span class="3">
    .. some other stuff
</span>

我需要设置一个查询来获取这些类为整数的跨度子节点。有点像这样:

$oDomObject = $oDomXpath->query('//span[contains(@class, number(something))]');

为了获得这些类是整数的跨度子节点,“某事”会是什么?有这样的运营商吗? span 标签只有 class 属性,没有 id 或其他。如果我将“某物”设置为“1”

$oDomObject = $oDomXpath->query('//span[contains(@class, number(1))]');

它返回 id 为 1、12、21 的跨度标签,任何包含 1 的数字。如果我使用“*”

$oDomObject = $oDomXpath->query('//span[contains(@class, number(*))]');

它什么也不返回。

我希望我说得通。

谢谢!

【问题讨论】:

    标签: php dom xpath domxpath


    【解决方案1】:

    下面将选择使用number() 函数将其类属性值评估为数字并等于相同值的所有 span 元素。

    //span[number(@class)=number(@class)]
    

    一个非数字值将评估为NaN,它不等于任何值(包括NaN)并为谓词测试返回false。

    【讨论】:

    • 你是最棒的,非常感谢你!完美地做到了!
    猜你喜欢
    • 1970-01-01
    • 2020-05-16
    • 2013-10-29
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-26
    • 2014-05-26
    相关资源
    最近更新 更多