问题标签 [xpath-1.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
24709 浏览

xslt - 检查 XSL 模板中的节点类型

是否可以检查我与同一模板内的模板匹配的节点的类型?如果是,我该怎么做?例如,我想做这样的事情:

0 投票
2 回答
383 浏览

.net - XPath - 如果元素的单个实例包含特定文本,则返回 Null

在 XML 文档中,例如:

如果任何元素包含“Text1”的内部文本,则返回 Null 集的单个 XPath 1.0 兼容、本地命名空间()兼容表达式是什么。

我尝试了许多不同的表达式,但无法获取会返回空集的元素。

例如

严格要求是由于 .NET 函数调用 XmlNode.SelectSingleNode 方法(字符串)的特定实现

最终精确解 由 Dimitre 提供

0 投票
1 回答
182 浏览

xml - XPATH - 如何选择具有具有最大值的给定属性的子节点的节点?

例如:

我想选择具有最大属性<b>的子元素的元素;在此示例中,第一个 (10 > 5)。<c2>c2attr

我努力了

但是PHP说它是无效的......

0 投票
1 回答
1209 浏览

xslt - XSLT 1.0 将命名空间移动到子节点

我只能访问 xpath 1.0 命令和函数。我需要将命名空间声明从根节点移动到开始使用该命名空间的子节点。

源 XML:

所需的 XML:

有什么好主意吗?

0 投票
1 回答
2220 浏览

xslt - Xslt - 如何检查具有特定路径名的孙节点。(xpath 1.0)

我想要做的是给定一个元素作为上下文,我想确定它是否有一个给定名称的子节点,并确定该子节点是否有一个给定名称的节点,以便我可以对它进行操作。我在 XPath 1.0 语法中执行此操作很重要。

到目前为止,我得到的代码是这样的。

它有效,但它又大又丑,我知道有一种方法可以浓缩它。那里的 for-eachs 是不必要的,因为我只希望一个子节点被命名为描述,并且它只有一个文本节点。

我觉得这个解决方案应该有效

但事实并非如此,而且我对 XPath 语法的了解还不够好,无法知道原因。

我问的原因是因为虽然我找到了检测子节点是否有名称的答案,并且我找到了可以到达该子节点上下文的答案,但我还没有找到结合两者的答案,虽然也许我只是没有足够努力地搜索,在这种情况下我道歉。

编辑:糟糕,对不起,是的,我忘了提到代码的 contains() 部分也只是一个 hack,因为我不确定如何将它们的值与相等性进行比较。

此外,只要答案在那里,<xsl:for-each select="description/text">也不起作用。

有问题的 XML 示例如下

上下文是叶子,我试图到达文本节点。

编辑:第二次来临:

对我来说,问题是我的 XSLT 文件使用了默认命名空间(在我的例子中名为 a)。如果我添加了这一点,那么鲍罗丁的回答将是正确的。

具体来说,这是最终为我工作的代码,以防万一有人想知道。

谢谢各位^-^

0 投票
1 回答
430 浏览

sonarqube - XPath-1.0:标记对面节点缺失的节点

我尝试通过复制 xpath 规则在声纳(plsql)中编写自定义规则。此规则的任务是在缺少保存点语句的地方标记“回滚到保存点”语句。

对于 2 个保存点和 3 个回滚语句,AST(抽象语法树)如下所示:

我搜索标记上次回滚的 XPath 查询,因为缺少保存点 spX。但是这个 xpath 标志着最后两个回滚

有什么建议么?

编辑:
我发现了这个次优的解决方案:

PLSQL 不区分大小写。但是当我添加翻译功能时,我会被标记为第一个和最后一个 ROLLBACK 节点。我认为所有回滚的名称都会与第一个保存点的名称一致?

0 投票
2 回答
48 浏览

xml - 选择前 N 个元素

假设我们有这样一个结构(b每个a中的数量未知):

我们如何在 xpath 中表达以下短语:“top 4 b elements nested into a”

a/b[position() <= 4]出于显而易见的原因,返回所有 6 个元素。

我如何将其限制为 4?

我发现这(a/b)[position() <= 4]应该可行,但似乎是xpath 2.0. 1.0对版本有什么想法吗?

0 投票
1 回答
541 浏览

python - 在 xpath 上的过滤后使用索引

我有以下 xml 片段。

我想选择“qa”类型的第一个站点的链接。我认为//site[@type="qa"][1]应该这样做。但是 id 不起作用。

0 投票
1 回答
594 浏览

xpath - 用于匹配月份和年份的 MM/DD/YYYY 日期字符串的 XPath 表达式

我有一个表格,其中的行包含表格的日期,MM/DD/YYYY例如

我有两条信息可以处理:

  • MM
  • YYYY

我想在适当的行上匹配给定的monthyear值。保证每月最多有一个条目,因此考虑day. 如果在某些时候需要这一天,那么表达式是微不足道的,因为我将拥有所有三个信息。

我使用的是 xpath 1.0,所以我似乎无法在我的表达式中访问正则表达式。仅给定月份和年份,获得适当行的可靠方法是什么?例如,如果我想要与 2013 年 6 月对应的行,我不想意外匹配05/06/2013.

0 投票
1 回答
62 浏览

xml - 需要优化的 xpath 表达式来获得所需的节点集

我确实有一个示例XML文件:-

我将XPATH表达式写为:

输出

我正在寻找经过修改、简化的 xpath 表达式来获得相同的输出。也欢迎不同的想法。有帮助吗?