我正在通过Nodes Endpoint API将数据从REST API导入到Magnolia中。我正在编写一个Python脚本来进行导入。但是,有时脚本会失败-由于REST API中的数据格式错误或值为空。
我更新了我的脚本以处理格式错误或空值。但是在重新运行脚本之前,我需要清除以前导入的节点。
如何编写Groovy脚本以删除节点的所有子级?
答案 0 :(得分:0)
以下脚本将删除给定工作空间名称和父节点绝对路径的所有子节点:
session = ctx.getJCRSession("WORKSPACE_NAME")
node = session.getNode("ABSOLUTE_PARENT_NODE_PATH")
childNodes = node.getNodes()
node.getNodes().each { it.remove() }
session.save()
例如(从hotchicken-com
工作区中删除website
节点的子页面):
session = ctx.getJCRSession("website")
node = session.getNode("/hotchicken-com")
childNodes = node.getNodes()
node.getNodes().each { it.remove() }
session.save()
有关更多脚本示例,请参见Groovy Shell Scripts。