问题标签 [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 投票
1 回答
630 浏览

xml - 只想在 XPath 中选择大写文本

例如,对于这个 XML,

我希望输出是

可能吗?

0 投票
2 回答
977 浏览

xpath - Xpath 表达式查找没有匹配祖先的元素

我正在尝试使用 xpath 从页面中提取 HTML5 微数据。我本质上是想说“查找具有 itemprop=name 属性的嵌套节点,这些节点未嵌套在另一个 itemscope 元素中(任何深度)”。鉴于以下示例,我正在尝试查找产品(鞋子)的名称,但我不想要品牌名称(耐克)。

我可以通过使用类似 //*[@itemprop=name] 的方式轻松找到 itemprop=name 元素,但这也会引入品牌名称。顺便说一句,示例中显示的元素可能嵌套在其他标签中,所以我不能简单地说“其直接父级没有 itemscope 属性”我相信可能有一些与我可以使用但我不知道的祖先有关的东西关于xpath的足够了。有任何想法吗?

0 投票
1 回答
2919 浏览

xml - 根据同一级别的值选择 XPath 中的值

我有这个部分 XML

嗨,当 Property Descriptor="2" = "FOO" 时,我可以查询 Property Descriptor="3" 的第一次出现吗?这里的结果应该是BAR

我试过//Properties/Property[@Descriptor="3"][..//Property[@Descriptor="2"] = "FOO"]了,但现在可以了。

0 投票
1 回答
61 浏览

xml - XPath 1.0 中数字字面量的官方定义是什么?

我试图弄清楚 XPath 1.0 语法中允许使用哪种数字的官方定义。

通过反复试验,我相信我将其固定为:

换句话说:

  • 可选的-
  • +不允许领先
  • 没有指数
  • 小数点前后的多余零可以省略

这似乎适用于数字文字和使用number()字符串值,除了number()允许前导和尾随空格。

除了第二个项目符号之外,这似乎与xsd:decimal相同,但我在Numbers部分中找不到任何提及它或任何提及它对应的任何 XSD 类型。

这实际上是在任何地方定义的吗?如果有,在哪里?

0 投票
2 回答
714 浏览

xpath - XPath (1.0) 匹配连续元素直到特定子元素或结束

这适用于 XPath 1.0。

这是我匹配的标记示例。元素的实际数量无法提前知道,因此会有所不同,但遵循这种模式:

我试图匹配每个<p>不包含 a 的,直到下一个包含a或直到封闭元素的结尾。<iframe><p><iframe><div>

为了使事情稍微复杂一些,出于特定原因,我需要使用 each<iframe>作为基础,a la //div[@class='entry']//iframe,以便每个节点集都基于

因此,在这种情况下,匹配

分别。

我尝试了以下一些测试无济于事:

(或用于测试):

以及其中的一些变体,但是对于第一组发生的事情是,它一直到最后都获得了所有<iframe>-less元素,而不是在包含 a<p>的下一个元素处停止。<p><iframe>

我已经有一段时间了,尽管我通常对这类事情很方便,但我不能完全按照自己的方式工作,而且谷歌等的搜索结果都没有帮助。

谢谢。任何帮助总是受到赞赏。

编辑:可以假设<div class="entry">文档中只有一次出现。

0 投票
2 回答
1338 浏览

xslt - 将谓词应用于当前节点

(我发布这个自我回答的问题是因为通常为这个问题提供的解决方案是不必要的冗长,我想澄清一下。我找不到现有的 SO 问题,但如果有的话,请将此作为副本关闭。)

我正在寻找一种方法来执行 XPath 选择以仅在当前节点匹配特定条件时才选择它。例如,当我想有条件地将 XSLT 模板应用于当前节点时,这将很有用:

我试过使用.[Featured = 'true'],但出现语法错误。我怎样才能做到这一点?

我不打算在这里添加输入和输出,因为它们与问题相切并且会使其非常长,但是如果您想看看我的想法,我将它们放在这里:inputoutput

0 投票
1 回答
40 浏览

xml - 如何按类似的源节点生成所需的 XML 输出分组和排序?

鉴于此源 XML:

我怎样才能产生这个输出:

我一直在尝试使用这样的东西作为基础,但感觉完全不对:

我需要聚合所有共享一个 common 的项目,为该组源元素InvID输出一个Data元素,然后将它们的所有row元素值输出到该元素的子Data元素 ( Value)。

这可以在 XPath 1.0 中完成吗?

0 投票
1 回答
49 浏览

xml - XSLT 1.0 按预订日期分组

我有以下 XML 数据:

在XSLT 1.0 中,我想按reserveDate 分组并计算reserveDate 的计数。所以在上面的数据中,我需要一个表格来显示reserveDate 和该日期的预订总数。

如何在 XSLT 1.0 中做到这一点?当我尝试使用此方法时,它给了我一个错误提示“解析 XSLT 样式表失败”。

0 投票
1 回答
35 浏览

xml - 如何在 XPath 中选择具有一个属性的特定值和另一个属性的最大值的节点?

例如,我有一个 XML:

那么,如何在 XPath 中选择具有一个属性的特定值和另一个属性的最大值的节点?我需要这样的东西(不起作用):

结果必须是:

0 投票
2 回答
3951 浏览

xslt - 在 XSLT 1.0 中,如何使用 key 和 document('') 对嵌入在 XSLT 中的 XML 数据创建查找函数?

我的具体需要是在给定特定字体大小的情况下查找行高,但我正在寻求学习创建查找/特定映射的一般技术。

我认为可以将 XML 嵌入 XSLT 文档本身(因此它可以独立工作)并使用 document('') 函数在其上构建一个密钥来引用当前的 XSLT,如下所示:

之后,我应该能够使用 key 函数查找行高:

...但是我收到以下错误消息:

我认为这里有几个问题:

  • 使用文档功能
  • 按键功能的使用
  • 嵌入 XML 的最佳方法是什么?在变量中?

该问题也可能有完全不同的解决方案。

我将非常感谢您的帮助!