You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pentaho中使用Get data from XML组件,通过XPath选择指定父节点的<price>子节点

解决Pentaho 'Get data from XML' 筛选特定节点下的问题

针对你要提取name属性为'1.1'的节点下所有子节点的需求,我给你整理了具体的配置步骤,直接套用就能解决:

1. 配置Root XPath缩小范围

在'Get data from XML'组件的Settings标签页里,找到Root XPath输入框,填入以下XPath表达式:

/bookstore/book[@name='1.1']

这个表达式的作用是:直接定位到下所有name属性等于1.1的节点,把后续的提取范围限定在这些节点内,避免拿到其他book下的price。

2. 添加字段提取规则

切换到Fields标签页,点击添加按钮(一般是+号),配置字段信息:

  • Name:自定义字段名,比如book_price
  • XPath:直接填入price(因为Root已经定位到目标节点,这里只需要取它的子节点即可)
  • Type:根据你的需求选择,比如Number(如果要做数值计算)或者String
  • Format:如果选Number的话,可以设置格式(比如0.00)

3. 验证结果

配置完成后,点击组件的Preview按钮,就能看到提取到的三个price值:29.99、39.99、59.99,这就是你要的目标数据啦。

如果不想分两步,也可以直接用一个全局XPath来定位所有目标节点,把Root XPath设为:

/bookstore/book[@name='1.1']/price

然后Fields里的XPath设为.(表示当前节点),效果是完全一致的。

内容的提问来源于stack exchange,提问作者felix89

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:44:07