在给定元素下通过 XPath 搜索

2024-01-10

我知道在 PHP 中对 DOM 执行 XPath 查询的唯一方法是DOMXPath http://php.net/manual/fr/class.domxpath.php,它仅适用于DOMDocument:

public __construct ( DOMDocument $doc )

是否有类似的机制来搜索DOMElement?

问题是,我需要搜索相对于某个对象的任意 XPath(我无法控制)DOMElement.

我尝试过这样做:

$domElement->getNodePath() . '/' . $xPath;

但是如果 XPath 包含| (or字符),这种方法不起作用。


就在这里。该元素也是文档的一部分,因此您使用文档的 xpath 对象,但是当您运行查询时,有第二个参数,它是第一个参数中的查询所在的上下文节点resolved to:

// query all child-nodes of $domElement
$result = $xpath->query('./*', $domElement);

Resolved意思是,如果 xpath 是:

  1. 相对的,相对于那个$domElement上下文节点。
  2. 绝对,它解析为文档节点(仍然/再次)。

Only relative路径适用于此处的上下文,这就是为什么我在前面添加了一个点作为前缀:./*。一个简单的*也会起作用,只是不会让这一点特别明显。

See DOMXpath::query() http://php.net/DOMXpath.query.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在给定元素下通过 XPath 搜索 的相关文章

  • 似乎无法在 pear.bat 中设置我的 php.exe 路径

    我安装了 PEAR 当我尝试运行它时 我收到以下消息 PHP PEAR PHP BIN 设置不正确 请使用您的修复它 环境变量或者修改pear bat中的默认值 当前值为 php exe 在 pear bat 文件中 错误消息的生成如下 P
  • 跳过解析 CODE 标签内的 BBCode

    我正在使用以下方法解析 BBCoderegex以便将其替换为 HTML 我现在被困住了 因为 code 标签解析 基本上 当你这样做时 code b this is bb b u code in u i code i code 它不应该取代
  • 如何替换每隔一个的空白?

    我想用 替换每个第二个空格 using preg replace 并输入这样的字符串 string a b c d e f g h i 应该会产生如下输出 a b c d e f g h i thanks 您可以组合使用explode ht
  • PHP 类似数组的对象

    我需要能够像这样设置我的对象 obj gt foo bar 然后我需要将它用作数组 如下所示 if obj foo bar more code here 只需添加implements ArrayAccess到您的类并添加所需的方法 公共函数
  • javascript 中可以预防失效的监听器吗?

    我的问题确实是 是流失的听众问题 http wikipedia org wiki Lapsed listener problem在 javascript 中可以预防吗 但显然 问题 这个词会导致问题 维基百科页面说 流失的听众问题可以通过主
  • 抽象 PHP 类中的返回类型“self”

    尝试创建一个抽象类来部分实现其子类的功能并强制执行此实现所需的契约 我使用以下构造 abstract class Parent public static function fromDB string name instance new s
  • 无法将外键值插入链接表

    我目前正在尝试将数据插入名为的表中 客户报价 该表充当 顾客 表和 客户关税 桌子 它还记录通过以下方式提交数据的用户 user table 这是我的数据库的架构 https i stack imgur com gyCdb png http
  • 如何使用 PHP 向用户发送每日电子邮件通知?

    我有一个简单的用户注册表单 其中有一个复选框 如果用户的任何项目有活动 用户可以每天收到电子邮件通知 就像 Stack Overflow 有一个 通知 电子邮件受保护 cdn cgi l email protection每天都有新的答案 我
  • 我怎样才能完成笛卡尔积函数的 Objective-C 实现?

    作为我的问题的后续here https stackoverflow com questions 8176719 algorithm generating all combinations from items that must be ch
  • 使用 Javascript 在标签中的内容之前附加元素

    我将用一个例子来说明 我需要用javascript转换以下html a Text 1 a a Text 2 a a Text 3 a to code a a
  • 如何用PHP读取图像?

    我知道 localfile FILES media tmp name 如果使用 POST 方法 将获取图像 我正在尝试读取与我的代码位于同一目录中的图像 我如何读取它并将其分配给像上面这样的变量 您发布的代码不会读取图像数据 而是读取其文件
  • PHP 中的 JS charCodeAt 等效项(具有完整的 unicode 和 emoji 兼容性)

    我在 JS 中有一个简单的代码 如果涉及特殊字符 我无法在 PHP 中复制它 这是 JS 代码 参见JSFiddle https jsfiddle net h8oca3qg 5 用于输出 var str t char t and speci
  • 高级自定义字段 - WordPress

    在使用时自定义字段插件 我无法让它返回任何数据 我创建了一个名为的字段组book cover thumbnail其中有一篇文章链接到它 谁能明白为什么下面的代码不起作用 img src 我完全没有收到任何错误 没有空格 确保您 a 使用以下
  • Laravel Eloquent 多对多查询 whereIn

    在我的应用程序中 我更新了关系one to many to many to many我正在尝试找出一种方法来保留相关功能 假设我有两个相关的表 例如狗和主人 如果我有很多主人 并且我想获取这些主人的狗 ID 列表 我应该如何雄辩地做到这一点
  • PHP 和 MySql 检查表是否为空

    我有点菜鸟 而且我很难过 我需要一些代码来搜索数据库表以查找与 id 变量匹配的行 我需要抓取该表 描述 中的一个字段 如果它为空 我需要显示一条消息 如果不是另一条消息 这是我的代码 我知道我需要添加 mysqli 转义字符串 只需从内存
  • 无法在Phalcon php中调用除indexAction之外的indexController的操作

    我的 xampp htdocs 目录中有一个名为 phalcon 的简单项目 并且我将 apache 配置为指向该文件夹 以便我可以在浏览器中转到 phalcon 当我尝试打开索引 默认 以外的索引控制器视图时 会出现问题 例如 我在索引控
  • PHP 中的 __DIR__ 和 dirname(__FILE__) 有什么区别吗?

    对我来说看起来是一样的 但我不确定 因为有很多项目使用dirname FILE 他们的结果是完全一样的 所以 这没有什么区别 例如 以下两行 var dump dirname FILE var dump DIR 两者都会给出相同的输出 st
  • 使用Doctype让scrollTop返回0,为什么?

    当我将此 Doctype 放入我的文档中时document body scrollTop返回零 这是为什么 当您使用该 Doctype 时 您会将每个当前浏览器放入所谓的几乎标准模式 http hsivonen iki fi doctype
  • POST 之后在 PHP 中设置 Location 标头时避免 HTTP 302 响应代码

    我需要放一个201 CreatedPOST 请求的响应代码和 Location 标头 但由于某种原因我仍然收到 302 响应 这就是我所拥有的 header HTTP 1 1 201 header Location The new reso
  • 性能方面插值(直接插入字符串)VS串联[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi

随机推荐

  • 如何在 Gradle 中使用自定义 Java 注释处理器?

    我一直在研究一个简单的java注释处理器 它扩展了AbstractProcessor 我已经能够成功地测试这个使用javac Processor MyProcessor mySource java 问题是使用 Android Studio
  • 文档写入问题

    我正在制作一个页面 用户可以在其中回答有关他们要回售的产品的问题 使用单选按钮 当他们点击页面底部的按钮时 就会弹出报价 我编写了一个 JavaScript 函数 当用户点击按钮时执行 它计算价格并使用 document write 显示它
  • 如何为 Elixir 结构验证/强制执行类型和值?

    如何为 Elixir Structs 验证 强制执行值的类型和范围 例如在结构创建期间 如果提交无效类型 值 则抛出错误 lat 应该是数字并且在 90 0 和 90 0 之间 lon 应该是数字并且在 180 0 和 180 0 之间 d
  • 如何将所有请求重定向到nginx中的同一个文件?

    我的根目录 网络 应用程序 src 在这个目录中我有 2 个目录 js 和 assets 和一个文件index html 这就是我需要实现的目标 任何对 js 或 assets 或 index html 的请求都只是从根目录提供文件 例如
  • 变体调试没有类型为 INSTANT_RUN_MERGED_MANIFESTS 的输出

    我想做的事和问题 我将 Android Studio 和 Android Gradle 插件更新为 3 0 0 将 Gradle Wrapper 更新为 4 2 1 并希望通过 IDE 在设备上构建和部署我的 Android Gradle
  • 重构 python 模块配置以避免相对导入

    这与一个上一个问题 https stackoverflow com questions 343517 how do i work with multiple git branches of a python module我的 我了解如何存储
  • 如何使用runOnUithread运行?

    我正在开发的应用程序有一个连接到 mysql 数据库的登录 注册 起初我在UI Thread我后来发现它不起作用 因为反对在 Android 上运行长代码UI Thread 我尝试编辑代码以在新的计算机上运行长任务Thread我补充说 现在
  • 找不到模块“@vaadin/flow-frontend/Flow”

    Vaadin 突然停止构建我的库 并出现以下错误 我已经跳过 Vaadin 舞蹈 还有很多其他的东西 但我现在没有主意了 我尝试构建用于生产的库 但对于开发来说也失败了 我正在使用 Vaadin Flow Github 上的问题跟踪器重定向
  • UIImagePickerController 保存到磁盘然后加载到 UIImageView

    我有一个 UIImagePickerController 将图像以 png 格式保存到磁盘 当我尝试加载 PNG 并设置 UIImageView 时imageView image到该文件 它不显示 这是我的代码 void imagePick
  • PHP 在非静态方法上调用 self

    为什么本例中对非静态方法的 自我 调用有效 class A protected function aNonStaticMethod return class public function aEcho echo self aNonStati
  • 如何在现有环境中添加功能

    是否可以使用env 作为命名空间的替代品 在向环境添加函数之前如何检查环境是否已经存在 这与这个问题以及布伦丹的建议有关如何组织大型R程序 https stackoverflow com questions 1266279 how to o
  • Windows Defender - 以编程方式添加排除文件夹

    我出于研究目的检查了不同的键盘记录器 并偶然发现了 Refog https www refog com keylogger https www refog com keylogger 这个程序可以捕获很多系统事件 但真正引起我注意的是其他东
  • 附加类型的实体失败,因为相同类型的另一个实体已具有相同的主键值

    错误消息 附加该类型的实体失败 因为同一类型的另一个实体已具有相同的主键值 问题 如何以与下面代码中的 AttachActivity 方法所示类似的方式附加实体 我必须假设上面的错误消息的 另一个实体 部分指的是内存中存在但超出范围的对象
  • EF linq/lambda .contains(list[String])?

    有什么方法可以评估字符串是否包含列表的某些元素或列表的所有元素 使用 linq 到实体 我一直在尝试使用 predicateBuilder 和其他方法 但我对这些不是 100 EDIT 就像是 string words searchStri
  • 使用 serde 反序列化带有 Enum 键的 HashMap

    我有以下 Rust 代码 它模拟了一个配置文件 其中包括HashMap键控有一个enum use std collections HashMap use serde Deserialize Serialize derive Debug Cl
  • Google 机器学习套件,在 Android 上使用 ML Kit 识别图像中的文本错误 [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我尝试安装 在 Android 上使用 ML Kit 识别图像中的文本 然后运行此应用程序 但出现此错误 com goo
  • Fabric + DigitalOcean:不可见的环境变量?

    我在 DigitalOcean 上有服务器 我使用 Fabric 来部署我的代码 我的代码依赖于环境变量 烧瓶配置 我今天遇到了一个奇怪的麻烦 在服务器上 root bashrc我已经添加了下一行 export CONFIG path to
  • 自适应卡提交操作

    我使用 JSON 格式生成了一张自适应卡 其中有两个按钮 提交 和 取消 分别返回 messageBack 消息作为提交和取消 我正在使用 C 来访问回复 但我无法弄清楚如何从自适应卡访问回复 我的json是 type AdaptiveCa
  • Heroku 上托管的 Rails 应用程序:错误 R12(退出超时)

    我有一个在heroku 上托管的Rails 3 1 4 应用程序 我已经添加了logentries add on http devcenter heroku com articles logentries 我没有触及警报的默认配置 现在我每
  • 在给定元素下通过 XPath 搜索

    我知道在 PHP 中对 DOM 执行 XPath 查询的唯一方法是DOMXPath http php net manual fr class domxpath php 它仅适用于DOMDocument public construct DO