我在boomi的groovy脚本中遇到上述错误请帮帮我!!下面是代码。我正在尝试格式化为xml。数据处理正在抛出此错误。
import java.util.Properties;
import java.io.InputStream;
import java.io.ByteArrayInputStream;
import com.boomi.execution.ExecutionUtil;
import java.io.BufferedReader;
import java.io.InputStreamReader;
// Retrieve a handle to the Logger
logger = ExecutionUtil.getBaseLogger();
InputStream io = dataContext.getStream(0);
Properties props = dataContext.getProperties(0);
BufferedReader br = new BufferedReader(new InputStreamReader(io));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
sb.append(line);
}
def text = sb.toString();
text = text.replaceAll('<', '')
text = text.replaceAll('>', '')
def xmlStream = new XmlParser().parseText(text);
def data = xmlStream.data;
def result = "<records>"
for (child in data) {
def stringWriter = new StringWriter()
new XmlNodePrinter(new PrintWriter(stringWriter)).print(child)
result = result + stringWriter.toString();
}
result = result + "</records>"
def childIO = new ByteArrayInputStream(result.getBytes());
dataContext.storeStream(childIO, props);
答案 0 :(得分:0)
除非在这个问题中给出带有配置文件的输入数据,否则很难回答它。但是从代码中可以看出,正在为输入XML创建一个额外的父节点。
这可以通过Boomi中的Message组件轻松实现。
使用消息形状并输入以下内容:
000-default
并在消息形状中形成参数选项,使用当前数据。这将为您尝试通过代码实现的所有文档提供相同的输出。
如果不符合您的要求,请提供更多详细信息,如输入配置文件,字段和预期输出。