问题标签 [gpath]

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 回答
16187 浏览

json - Groovy JSON/GPath 查询

鉴于以下 JSON,我想提取 postal_code(long_name 或 short_name)。我使用 JsonSlurper 将其摄取到变量中,并使用 find/contains/etc 尝试了各种查询。抓取在其“类型”中具有“postal_code”但无法弄清楚的节点。任何帮助是极大的赞赏。

0 投票
2 回答
3689 浏览

xpath - 在 Groovy 中使用 Xpath 删除 XML 中的节点

我有这个 Groovy 代码可以使用 xpath 字符串删除节点,但是在删除 xpath 导致多个节点实例的节点时遇到问题。

示例 XML...

删除节点的代码...

element1上面的代码使用 xpath删除节点/root/element1,它评估为单个节点,但不适用于/root/items/name评估为多个节点。

0 投票
1 回答
266 浏览

grails - 如何在 GSP 页面中使用 Gpath 编写条件表达式

我想显示类型可能是 1 或 4 或 5 的附件

${attachments} has got attachments with the attributes name, type

编辑:

我在尝试上面的方法,它没有工作,如何做到这一点。

0 投票
1 回答
1575 浏览

java - 使用放心从 XML 映射

我正在尝试使用放心设置集成测试。在我的一个测试用例中,我必须使用可靠的 XmlPath 验证 XML 文件的某些属性,这似乎使用了 Groovy 的 GPath。

我有一个具有以下结构的 XML 文档(ID 是唯一的):

理想情况下,给定一个 someelement id,我想得到一个它的属性的映射,即假设给定的 someelement id 是 1234 我想得到一个如下所示的映射: {"hello": "world", "name": "a name", "status": "new"}。我该怎么做?我知道 XmlPath 中有一个 getMap 方法,但我不知道必须使用哪个表达式。

如果无法将属性作为地图获取,我会满足于获取键列表和值列表。同样,我不知道我必须使用哪种表达方式。我尝试过这样的事情:

但是,它什么也没找到。

0 投票
1 回答
1424 浏览

xml - Groovy“查找”闭包...遍历递归 xml

如果我有这样的 GPath:

要获得一个 ID 为 5 的芒果,我会这样做,

但是如果我的 GPath 是递归的。我的意思是,一个苹果可以有一个芒果。芒果里面又可以放一个苹果。例如:

如何获得 id 为“5”的芒果。无论递归,GPath 可能是(ID 为“5”的芒果可以处于任何递归级别),我需要找到 ID 为“5”的芒果。我怎样才能通过 find 闭包来实现这一点?

提前谢谢

0 投票
1 回答
2426 浏览

groovy - 使用 XmlSlurper 和 findAll 嵌套 GPath 表达式

我正在尝试使用XmlSlurperGPath 分析 XML 树,该findAll方法的行为让我感到困惑。

例如,假设您有以下 XML 树:

假设xml已通过XmlSlurper'sparse方法之一初始化,则以下代码按预期执行:

另一方面:

我很难理解为什么我可以使用特殊@属性(以及其他属性,例如**),但不能使用“正常”属性。

我查看了 API 代码,更让我困惑的是该getProperty实现(在 中找到GPathResult)似乎支持我正在尝试做的事情。

我错过了什么?

0 投票
2 回答
2497 浏览

java - GPathResult ..存在或不存在节点

我的 GPathResult 可以通过以下 3 种方式之一拥有名称节点

1)名称节点存在并具有值ex:John

2) 名称节点存在,但其中没有值。

3) 根本不存在名称节点。

在 Groovy 代码中,我如何使用我的 Gpathresult 区分上述 3 种情况。我是否使用类似 gPathResult 的东西。值()!=空?

伪代码:

0 投票
1 回答
5867 浏览

groovy - Groovy 脚本中的 XmlSlurper --- 使用外部闭包将节点插入 GpathResult

我对以下场景有疑问:

-- 我有一个 GPathResult “body”,我想在其中添加更多 xml(节点和子节点) -- 有些部分很常见,所以我试图将它们保存在外部封闭“commonNode”中,我可以在任何需要的地方插入

在我调用 XmlUtil.serialize(body) 之后我想要得到的是:

但是结果中完全缺少结构,所以我猜我将外部闭包称为“commonNode()”的方式有问题。

希望有人有答案。如果您需要更多详细信息,请告诉我。

0 投票
0 回答
156 浏览

xpath - Groovy:使用 xpath 类型获取嵌套对象的值

我有带有嵌套对象的 POJO,我需要将其转换为没有嵌套的简单对象,例如我有一个人员和地址,如下所示

我需要将 Person 翻译成 PersonFlat 看起来像

有什么方法可以对 Person 实例进行 xpath 类型的提取以使用 groovy metaClass 获取 Address.lineOne 和 Address.lineTwo ?

0 投票
1 回答
1742 浏览

xpath - 按名称查找所有属性值的 GPath 表达式

寻找 GPath 表达式以使用属性名称获取属性值列表:

..当搜索所有category属性时,我想取回这个,不管category文档中存在属性的位置:

[weather, sports, business, deals, life]

...但是我所有的尝试都比我想要的要多,似乎它正在返回没有category属性的节点;我可以从列表中删除空元素,但我想知道为什么会这样。

[, weather, sports, business, deals, , life]