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

SOAPUI响应输出优化:实现每个条目单独换行写入文件

轻松搞定Groovy脚本输出格式问题

很简单的修改就能满足你的需求!核心就是把原来列表默认的toString()输出,换成用换行符拼接每个元素的方式。

先补全你提到的代码片段,假设原来的逻辑是这样的:

import groovy.xml.XmlSlurper

def xml = new XmlSlurper().parseText(new File('input.xml').text)
// 这里替换成你实际要提取的目标标签名
def targetItems = xml.'**'.findAll { it.name() == 'yourTargetTag' }.collect { it.text() }
// 原来的输出方式,导致所有内容挤在一行带括号逗号
new File('output.txt').text = targetItems.toString()

只需要把输出那一行改成用join('\n')拼接列表元素,就能让每个条目单独占一行:

import groovy.xml.XmlSlurper

def xml = new XmlSlurper().parseText(new File('input.xml').text)
def targetItems = xml.'**'.findAll { it.name() == 'yourTargetTag' }.collect { it.text().trim() }
// 用换行符连接所有元素,完美输出你想要的格式
new File('output.txt').text = targetItems.join('\n')

额外实用小技巧:

  • .trim()可以帮你清理每个条目里可能存在的多余空格或换行,让输出更干净;
  • 如果你想去掉示例里出现的重复条目,只需要在collect之后加上.unique():def targetItems = ...collect{...}.unique(),这样重复的ID就只会出现一次;
  • 要是你需要Windows风格的换行(\r\n),把join('\n')换成join('\r\n')就行。

修改后的输出文件内容会变成:

88881028167
88881028168
88881028176
88881028177
88881028175
88881028166
88881028170

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:48:57