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

如何在Freeplane父节点中拼接所有子节点的匹配属性?

Freeplane Groovy脚本:子节点文本属性拼接问题

我在处理Freeplane的XML格式文件时,用Groovy脚本编写父节点公式,想要把子节点的文本属性拼接成字符串,但一直没能成功实现。官方帮助文档有公式用法说明,但没找到对应示例。

我的树形结构如下:

rootNode
    |        +---child0
    |        |
    +--------+---child1
             |
             +---child2

期望实现的属性配置效果:

rootNode:
    |  +->attr[sum=children.sum(0){ it['size'].num0 }]
    |  +->attr[colours=children.join(";"){ it['colour'].text }]
    |
    |        +---child0:
    |        |     +->attr[colour='red']
    |        |     +->attr[size=3]
    |        |
    +--------+---child1:
             |     +->attr[colour='green']
             |     +->attr[size=4]
             |
             +---child2:
                   +->attr[colour='blue']
                   +->attr[size=5]

要求rootNode['sum'] == 12,rootNode['colours'] == 'red;green;blue'。

数值属性的求和已经成功实现(父节点sum属性正确显示12),但文本属性的拼接一直存在问题。

我尝试过以下公式,均报错:

=children.join(";"){ it['colour'].text }
=children.join(";"){ it['colour'] }
=children.text(){ it['colour'].join(";") }
=children.gettext(){ it['colour'].join(";") }
=children(){ it['colour'].join(";") }
=children.details(){ it['colour'].join(";") }

目前只有下面这个公式能正常运行,得到正确的拼接结果:

=children.each{ it['colour'].text }.join(';')

求其他可行的实现方法?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 15:16:12