XPath 选择带句点的节点

2023-12-27

我有一个 XML 文档,其中一些节点有.以他们的名义:

<com.site.blah>
   <id>asdkjasd</id>
   <com.site.testing>
       <name>test</name>
    </com.site.testing>
</com.site.blah>

如果我尝试@doc.search("/*/id").first.xpath,它返回/com.site.blah/id,但如果我这样做:@doc.search("/com.site.blah/id").first.inspect它返回nil.

我希望能够进行 XPath 查询来选择下面的名称com.site.testing,但它一直拒绝我的查询。

有任何想法吗?

(如果有影响的话我正在使用 hpricot)


您的 XPath 库已损坏。 XPath 名称测试是 QName (http://www.w3.org/TR/xpath/#NT-NameTest http://www.w3.org/TR/xpath/#NT-NameTest),在遵循 EBNF 的兔子洞之后,其中包括句点(http://www.w3.org/TR/REC-xml/#NT-NameChar http://www.w3.org/TR/REC-xml/#NT-NameChar)。向开发人员报告错误。

作为解决方法,注释中提到的转义机制都不是 XPath 的一部分,但您可以尝试使用谓词来检查元素名称,如下所示:

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

XPath 选择带句点的节点 的相关文章

随机推荐

  • hostPID 和 hostIPC 选项在 kubernetes pod 中意味着什么?

    在 kubernetes pod yaml 规范文件中 您可以使用以下命令将 pod 设置为使用主机的网络hostNetwork true 我在任何地方都找不到关于什么的好的 适合初学者 解释hostPID true and hostIPC
  • 时间:2019-05-17 标签:c#WinformMSChartreverseYAxis

    我在 Windows 窗体上使用 MSChart 控件 我想有一个下降 Y 轴通过使用AxisY IsReversed true 但仍将 X 轴保留在底部 默认情况下 当我使用AxisY IsReversed true 然后 X 轴上升到顶
  • 将文件保存在我的项目内的指定文件夹中

    我正在创建一个 Xml 文件 我想将其保存在解决方案内项目内的指定文件夹中 我可以在解决方案资源管理器中访问它 如何指定路径以便创建文件夹并将 xml 文件保存在其中 目前 它在我的项目的根目录中创建文件 但我无法在解决方案资源管理器中查看
  • 使带有索引数组的 for 循环更快

    我有以下问题 我有带有重复索引的索引数组 并且想将值添加到数组中 如下所示 grid array xidx yidx zidx data 然而 由于我有重复的索引 这不起作用 因为 numpy 将创建一个临时数组 这会导致重复索引的数据被分
  • VueJS:选择同一文件时不会触发输入文件选择事件

    我们如何在 Vue Js 中文件输入检测相同文件输入的变化
  • 后退按钮未显示在导航控制器中

    我已将一个视图控制器中的表单元格的显示序列添加到嵌入导航控制器中的另一个表视图 当我单击第一个视图中的单元格时 segue 按预期工作并显示新视图 但是 后退 按钮 带有原始视图的标题 不会出现在导航栏中 我搜索了 SO 发现过去提出过很多
  • 设置为背景的 SVG 线性渐变在 Edge 和 IE 中不起作用

    我使用带有线性渐变颜色的 SVG 形状 background url imgUrlBase element svg 除了 Edge 和 IE 之外 在任何地方都可以正常工作 形状显示正确 但不是渐变 只有纯色 由于多种原因 简单使用 png
  • 通过 Instagram API 使用 php 获取照片和点赞

    使用 Instagram 时client idAPI 请求如下 https api instagram com v1 users https api instagram com v1 users 用户 ID media recent cli
  • 如何在 Tkinter 文本框中设置对齐方式

    Question 如何更改特定行的对齐方式ScrolledTextTkinter 中的小部件 我原来的错误的原因是什么 背景 我目前正在开发 Tkinter 文本框应用程序 并且正在寻找更改行对齐方式的方法 最终 我希望能够更改特定行左对齐
  • C++ 中数组的静态边界检查

    我需要一些关于我正在学习的编程语言课程中的问题的指导 我们需要想出一种在 C 中实现数组类的方法 以便静态检查对其元素的访问是否存在溢出 我们不会使用 C 11 静态断言 或任何其他黑盒解决方案 这是一个理论问题 而不是我出于编码目的所需的
  • 来自数组的 PHP 值,其中键位于另一个数组中

    由于某种原因 我正在为此苦苦挣扎 我有2个数组 第一个是名为 colsArray 的标准数组 如下所示 Array 0 gt fName 1 gt lName 2 gt city 第二个是一个名为 query data 的多维数组 如下所示
  • 网站性能测试:如何最好地估计计算机性能?

    我的网页中有一些浏览器密集型 CSS 和动画 我想确定用户是否拥有快速的 PC 以便我可以相应地缩放内容以提供最佳体验 我在用http Detectmobilebrowser com http detectmobilebrowser com
  • 使用 LSTM 教程代码来预测句子中的下一个单词?

    我一直在尝试理解示例代码https www tensorflow org tutorials recurrent https www tensorflow org tutorials recurrent你可以在以下位置找到https git
  • 关于创建列的SettingWithCopyWarning [重复]

    这个问题在这里已经有答案了 我正在尝试为我的数据创建一个名为 mv avg 的移动平均列 我收到一个无法修复的SettingWithCopyWarning 我可以抑制警告 但我无法弄清楚我在代码中的何处创建副本 并且我想利用最佳实践 我在下
  • 使用同一个 var 关键字初始化多个 JavaScript 变量有什么好处?

    当我阅读由显然非常擅长的人编写的干净的 javascript 代码时 我经常看到这种模式 var x some initialization method y something els z 相对于写有什么好处 var x some ini
  • 如何在 Angular2 中创建结构组件

    我创建了一个结构指令 可以添加或删除应用它的元素 现在 我希望该指令将内容添加到应用它的元素中 但使用指令似乎不可能 因为它没有自己的模板 也许我应该创建一个组件而不是指令 这个官方指南似乎暗示了这一点 https angular io d
  • Hashicorp Vault AppRole:角色 ID 和秘密 ID

    我有一个 Django 应用程序 我希望它能从 Vault 获取所有需要的秘密 据我了解我需要使用AppRole https www vaultproject io docs auth approle html为了这 我创建了一个角色 但后
  • Android 选择电子邮件意图

    我想从联系人列表中选择一封电子邮件 选择一个联系人还不够好 因为一个联系人可能有多个电子邮件地址 使用 API 演示 我成功地选择了联系人 电话号码 甚至地址 例子 Intent intent new Intent Intent ACTIO
  • 尽管有 RxJava,Android 中还是会出现 UI 阻塞

    我正在使用 RxJava 将网络访问移至 Android 中的单独线程 但我的 UI 仍然阻塞 我没有使用错误的可观察值 如下所示 Android RxJava 非阻塞 https stackoverflow com questions 2
  • XPath 选择带句点的节点

    我有一个 XML 文档 其中一些节点有 以他们的名义