XPath:查找一个属性节点(并且只有一个)

2023-12-11

只查找具有某一属性的一个节点(以任一节点为准)的 XPath 是什么(实际上我对属性感兴趣,而不是节点)。例如,在我的 XML 中,我有几个具有 lang 属性的标签。我知道它们都必须具有相同的值。我只想得到其中任何一个。

现在,我这样做://*[1][@lang]/@lang,但由于未知原因,它似乎无法正常工作。

我的尝试导致我遇到了从所有 @lang 值的串联('en en en en...')到什么都没有,有时介于我想要的但不是所有 XML 之间的事情。


EDIT :

实际上//@lang[1]无法工作,因为该功能position()在测试之前调用lang属性存在。因此它总是采用 XML 中找到的第一个元素。它当时效果最好,因为很多时候,lang 属性位于根元素上。


经过更多处理后,这是一个可行的解决方案:

 (//@lang)[1]

需要用括号来分隔[1]来自属性名称,否则position()函数应用于属性的父元素内(这是无用的,因为标签内只能有一个特定名称的属性:这就是为什么//@lang[2]始终不选择任何内容)。

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

XPath:查找一个属性节点(并且只有一个) 的相关文章

随机推荐

  • 通过 C# 中的反射获取“基本”数据类型,而不是奇怪的可空数据类型

    我的基本需求是从 LINQ to SQL 查询生成的匿名类型中获取数据类型 我有一段代码 比我能写的更聪明 因为我还没有真正深入研究反射 它从匿名类型返回数据类型 并且非常适合 linq2sql 属性中标记为 不可为空 的元素 因此 如果我
  • Spring Rest - 生成 Json 数据的异常[重复]

    这个问题在这里已经有答案了 我有一个值对象 我想通过 json Rest 调用公开它 我的项目中有许多其他的休息调用都工作得很好 但这个 1 由于某种原因不能 当我尝试返回该对象时 我收到一个我不知道如何解决的异常 值对象代码如下 减去访问
  • 如何将父 div 放置在其子 div 之上?

    我有一个容器 div 它有background color red 这个容器大约有 12 个孩子 最后一个孩子有background color blue 我试图将容器移到孩子的顶部background color blue 我为容器使用了
  • 如何在nodejs aws-sdk模块中设置多个aws凭证?

    我需要对 s3 SNS 等不同服务使用多个 AWS 凭证 var awsS3 require aws sdk var awsSes require aws sdk awsS3 config update region config awsR
  • 如何将 mysql 转储文件导入 Docker mysql 容器

    提前致以问候和感谢 我实际上是 docker 和 docker compose 的新手 迄今为止观看了大量视频并阅读了很多文章并进行了尝试 我有一个前端容器和一个后端容器 它们作为 Dockerfile 和 docker compose 设
  • 在 tableHeaderView 中使用自动布局

    我有一个UIView包含多行的子类UILabel 该视图使用自动布局 我想将此视图设置为tableHeaderView of a UITableView not节标题 该标题的高度将取决于标签的文本 而标签的文本又取决于设备的宽度 自动布局
  • Java 字节码签名

    作为我正在开发的编程语言的编译器的一部分 我在字节码中遇到了通用签名 我正在尝试将其解析并转换为 AST 解析算法大部分都有效 但似乎有一种特殊情况 其中这些签名的格式表现得有点奇怪 以下是其中一些案例 java util Arrays p
  • Spring MVC:即使存在所需的参数,文件上传也会出现错误请求(缺少参数)

    我有一个文件上传控制器 其方法如下所示 RequestMapping value upload method RequestMethod POST produces application json public ResponseBody
  • INDY 10 TCP 服务器 - 与非线程安全 VCL 代码结合

    VCL 不是线程安全的 因此我想在 INDY 10 TCP 中向 gui 写入信息不是一个好主意server execute 功能 如何将信息从服务器执行发送到VCL 我需要修改一个 TBitmap 里面tcpserver execute功
  • 模拟鼠标移动

    我的 UserControl 中有带有图像的 ListView 当我带来图片时 我会在从图像中移除鼠标时重新绘制图片 图片会滋养旧的 但是 当我第二次在同一张图片上绘制时 我不想重新绘制 但是当我拿走 ListView 的教堂时 navoz
  • C 中链表的问题

    我收到的提示要求使用 c 语言的程序来实现链接列表 并为用户提供在链接列表上执行不同功能的选项 需要的功能是 isempty 检查列表是否为空并返回指示是否为空的值 add 向列表尾部添加一个元素 insert 在列表中的特定索引处插入元素
  • 如何防止我的 Python 应用程序在到达代码末尾后自动关闭? [复制]

    这个问题在这里已经有答案了 我是编程新手 尤其是Python 我正在尝试制作一个将华氏温度转换为摄氏度的应用程序 但我不知道如何使该程序保持打开状态 每当它到达代码末尾时 它就会在用户看到他或她的结果之前自动关闭 我正在使用Python 2
  • 由于以下错误而失败:800704a6 尝试从 teamcity 中的文本文件读取数据时

    我正在使用 teamcity 运行一些测试用例 它成功地将数据保存在文本文件中 但是当我尝试从同一位置读取该数据时 出现以下错误 设置方法失败 System Runtime InteropServices COMException 使用 C
  • 自定义 ActiveModel full_messages

    我想从自定义验证消息中删除该属性并仅显示该消息 因此而不是 School Please Provide Your School Name 我想回来 Please Provide Your School Name 正如我的模型中所设置的 va
  • 如何在 UITextView 中插入 UIImageView,就像 iphone 默认消息 (SMS) 应用程序在 UITextView 中插入多媒体内容一样

    我想在具有发送和相机按钮的工具栏的 UITextView 中插入 UIImageView 就像 iPhone 默认短信应用程序一样 你最好使用UIScrollView和管理UITextViews and UIImageView就在里面 UI
  • TinyMCE Editor 不更新 IE11 中的隐藏字段

    我使用 TinyMCE 作为 CMS 的 HTML 编辑器 这一直工作正常 表单提交了正确的数据 就像在 Chrome 中一样 它在 IE 11 中也能正确显示 但是 如果我使用 IE11 提交表单 浏览器不会 POST 表单中的数据 检查
  • 使用选择查询动态添加列

    我有一张表 默认有 20 列 这 20 列命名为 D1 D2 D3 D20 现在通过选择查询我想动态添加其他列 对于前 D21 D22 D31 那么我如何编写一个查询来动态添加此列并增加值 最大限制为 31 请帮助 默认表列D1 D2 D3
  • R- ode 函数(deSolve 包):将参数值更改为时间函数

    我正在尝试使用该函数求解一阶微分方程ode来自deSolve包裹 问题如下 药物在某些时间 输注时间 以恒定的输注速率给药 并以一阶速率消除 因此 该过程可以描述为 if t in Infusion times Infusion lt In
  • qDebug 和 cout 不起作用

    我有这个简单的代码 include
  • XPath:查找一个属性节点(并且只有一个)

    只查找具有某一属性的一个节点 以任一节点为准 的 XPath 是什么 实际上我对属性感兴趣 而不是节点 例如 在我的 XML 中 我有几个具有 lang 属性的标签 我知道它们都必须具有相同的值 我只想得到其中任何一个 现在 我这样做 1