xpath 轴中的命名空间是什么

2024-01-15

我正在研究 XPath 轴,我能够理解以下所有轴

'祖先'
| “祖先或自我”
| '属性'
| '孩子'
| '后裔'
| “后代或自己”
| '下列的'
| “以下兄弟姐妹”
| ‘父母’
| '前'
| '前兄弟'
| '自己'

我唯一无法理解的轴是

| '命名空间'

谁能给我一个很好的例子并理解“命名空间”的实际作用?

例子:-

Open :- https://www.google.co.in/ https://www.google.co.in/

OR

HTML代码

<a style="left:-1000em;position:absolute" href="/setprefs?suggon=2&prev=https://www.google.co.in/&sig=0_ujdR1PrGxEbi_EiD6RbIb4VvaXc%3D">Screen-reader users, click here to turn off Google Instant.</a>

我正在尝试下面的xpath

  //a[@style='left:-1000em;position:absolute']/namespace::*[name()='google']

我在上面的命名空间中做错了什么?

另外我还想知道axes有什么用| '属性'。在什么地方和什么情况下它是有帮助的


namespace::轴选择命名空间节点 https://www.w3.org/TR/xpath/#namespace-nodes。没有什么花哨。

And 命名空间节点,根据链接的规格包括:

  • 名称开头的元素上的每个属性xmlns:

  • 名称开头的祖先元素上的每个属性xmlns:除非元素本身或者更近的祖先重新声明了前缀

  • an xmlns属性,如果元素或某个祖先有xmlns属性,以及值xmlns最近的此类元素的属性非空

例如,给定以下 XML 元素:

<a xmlns:google="some namespace uri here"/>

XPath expression below will return the xmlns:google attribute [demo http://www.xpathtester.com/xpath/45582cc8007bbcf8e327e454cc647360]. :

//a/namespace::*[name()='google']

这个例子对应于上面提到的第一个要点,因为xmlns:google is 属性,在上下文元素上<a>,其名字开头为xmlns:.


类似的解释也适用于attribute轴;它只是选择 XML 属性。

你可以考虑attribute轴作为更长的版本@你已经在使用了。例如,下面的两个表达式含义相同:

//a[attribute::style='left:-1000em;position:absolute']
//a[@style='left:-1000em;position:absolute']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

xpath 轴中的命名空间是什么 的相关文章

随机推荐

  • 无法使用反射和 .NET 5 顶级调用找到 Main 方法

    var pt Type GetType
  • 时间范围内的“一对多”关系完整性问题

    假设我有这样的表 CREATE TABLE foo id SERIAL PRIMARY KEY barid integer NOT NULL REFERENCES bar id bazid integer NOT NULL REFERENC
  • 为什么 CPU 上的 Keras LSTM 比 GPU 上快三倍?

    I use 这本来自 Kaggle 的笔记本 https www kaggle com sbongo for beginners tackling toxic using keras运行 LSTM 神经网络 我已经开始训练神经网络 我发现它
  • 注册令牌不是有效的 FCM 注册令牌

    我正在尝试使用从 Android 设备的 PassWallet 应用程序中保存的票证中获取的令牌向我的设备发送消息 该设备使用苹果钱包规范发 送更新通行证所需的所有信息 但是 我使用 FCM 发送通知 但收到此错误 注册令牌不是有效的 FC
  • Windows:如何将驱动器符号链接到另一个驱动器?

    我有一个客户 其数据已从 H 驱动器移至 I 驱动器 但他们的 Access 导出脚本似乎已将 H 驱动器硬编码为目标 即使它不再存在于新系统上 如何创建映射到 I 驱动器的 H 驱动器 我是一个 unix linux 人 我猜是这样的mk
  • 在.NET Core中编译Sass文件

    我正在尝试将 Sass 文件添加到 Visual Studio 2017 中的 NET Core 应用程序中 但是 在创建 scss 文件后 我找不到任何方法来编译它们 我筛选了 NPM 和 Bower 但都没有提供对 Sass 的支持 添
  • 如何在 Visual Studio 中禁用自动插入的“内联”关键字?

    我喜欢移动定义位置Visual Studio 2015 的重构功能除了一件事之外 它会自动插入inline关键字位于函数定义之前 所以我总是不得不自己删除它们 是这样的 重构之前 class GameLoop public void dra
  • 如何从 highstock 图表中提取数据

    假设我有一个示例 highstock 图表 例如this http www highcharts com stock demo basic line在网站中 我想知道是否可以单独从图表中提取数据 即图表是由第三人创建的 并且其他人无法访问图
  • python cdll找不到模块

    我有一个由两个 dll 文件和一个 python 包装器组成的库 我目前的代码基于这三个文件 它们与我的主 python 文件位于同一父目录中 我现在尝试在继续开发之前重构一些东西 并希望将所述库代码移动到它自己的 lib 目录中 不幸的是
  • PowerShell 中从第一个到倒数第二个的数组索引

    如何获取从第一个到倒数第二个的数组元素范围 例如 array 1 2 3 4 5 array 0 will give me the first 1 array 2 will give me the second last 4 array 0
  • Windows Phone 7 SQL Server CE 行版本

    我在 Windows Phone 7 上的 SQL Server CE 中更新表时遇到问题 当我调用提交更改时 应用程序将关闭 没有任何异常或错误 Visual Studio 甚至仍在运行 删除rowversion专栏解决了这个问题 我环顾
  • 使用 ng-switch 时如何防止控制器重新加载

    在此示例中 使用 ng switch 我可以在不同视图之间切换 每个视图都分配有一个控制器 我在网上放了一个快速示例 http jsfiddle net FBHjZ 1 http jsfiddle net FBHjZ 1 看起来每次我切换视
  • ASP.NET MVC 项目和 App_Code 文件夹

    为什么 VS 解决方案资源管理器的 添加 ASP NET 文件夹 子菜单中没有选择 App Code 我知道您可以通过重命名新文件夹来手动创建一个新文件夹 但这里的理由是什么 这不是你应该放置 实用程序 或 服务层 类型类的地方吗 关于 M
  • 没有为类型定义序列化程序:System.Windows.Media.Media3D.Point3D

    我正在尝试使用 protobuf 网络序列化一些数据 在序列化过程中 我收到一条错误 指出没有为 Point3D 类型定义序列化 我发现一个类似的问题 但仍然无法实施和解决 链接如下 没有为类型定义序列化器 System Drawing C
  • 如何使用python将流上传到AWS s3

    我想创建一个从 S3 获取 zip 文件 可能包含 csv 文件列表 的 lambda 将其解压缩并上传回 s3 由于 lambda 受到内存 磁盘大小的限制 我必须将其从 s3 流式传输并返回到其中 我使用 python boto3 请参
  • 具有分段文件上传功能的 Spring REST API 不适用于可选参数

    我正在使用Spring框架 但不太熟悉它 我正在编写一个 REST API 特别是一个处理文件上传的 POST 方法 其中文件是可选的 我尝试简化该方法 但仍然存在问题 这是我所拥有的 RequestMapping method Reque
  • 如何将 javascript 转换为 LLVM IR?

    是否有 JavaScript 的 LLVM 后端 如果没有 其他将动态语言 类似于 javascript 转换为 LLVM IR 的工具也可以 因为我正在编写一个动态语言编译器 这样的工具可以帮助我找出一些功能是如何实现的 FTL JIT
  • R - “princomp”只能与比变量更多的单位一起使用

    我正在使用 R 软件 R Commander 对我的数据进行聚类 我的数据有一个较小的子集 包含 200 行和大约 800 列 尝试 kmeans 聚类并在图表上绘制时出现以下错误 princomp 只能与比变量更多的单位一起使用 然后我创
  • C# 中单元测试的生命周期是怎样的

    完整事件的顺序是什么MSTest在 Visual Studio 中用 C 运行单元测试 Ctrl R A 到目前为止我的想法是 1 跑步 AssemblyInitialize 2 随机运行 ClassInitialize 3 运行班级 Te
  • xpath 轴中的命名空间是什么

    我正在研究 XPath 轴 我能够理解以下所有轴 祖先 祖先或自我 属性 孩子 后裔 后代或自己 下列的 以下兄弟姐妹 父母 前 前兄弟 自己 我唯一无法理解的轴是 命名空间 谁能给我一个很好的例子并理解 命名空间 的实际作用 例子 Ope