

新闻资讯
行业动态Boomi XML解析需手动设置重复节点、混合内容和命名空间:右键item设为Repeating Element;para节点启用Mixed Content并用textContent访问文本;带ns的XML需配置Namespace Context且路径显式带前缀。
Boomi 的 XML Profile 解析器默认将 识别为单个 items 容器,而非可迭代的 item 集合——这是多数映射失败的根源。
item 节点 → 选择 “Set as Repeating Element”,否则下游 Map 步骤中该节点不可拖入循环映射区 开头),需先用 Parse XML 步骤配合自定义 Root Name(例如填 root)生成合法 Profile,否则 Boomi 拒绝加载Map 中对应字段会带 [n] 后缀;但实际运行时索引由 Boomi 动态分配,**不可硬编码 item[0] 或 item[1]**,应使用循环连接(Loop Shape)或 Get Dynamic Value 函数提取当节点同时含文本和子元素(如 ),Boomi 默认把整个 para 当作纯文本,bold 被吞掉或转义为字符串。
para 节点 → “Set as Mixed Content”,此时节点类型变为 MixedContent,子节点 bold 才会独立存在para 自身的文本值需通过 textContent 属性访问(即拖 para.textContent),而 bold 内容走常规路径 para.bold
//para[text()="Hello"] 会失效)Boomi Cloud 默认限制单次 XML 解析内存为 256MB,且 Parse XML 步骤超时阈值为 300 秒——复杂嵌套 + CDATA + DTD 声明极易触发。
Transform 步骤执行 Groovy 清理:移除注释(xml.replaceAll('', ''))、压缩空格、剥离 DTD(xml.replaceAll('^>]*>', ''))Parse XML 后立刻接 Map;改用 Split 步骤按重复根节点切片(如每 50 个 order 一组),再并行处理-Xmx2g -XX:+UseG1GC,但 Cloud 环境无法修改,只能靠结构拆分if (xml.contains("", "$1");
}
xml = xml.replaceAll("\\s+", " ").trim();
带命名空间的 XML(如 )中,即使 Profile 正确识别了 ns:order,Map 里拖拽仍可能显示 “No matching element”,因为 Boomi 默认忽略 namespace 前缀。
http://example.com),并勾选 “Use Namespace in Mapping”
Map 步骤中,所有带 ns 的字段路径必须显式包含前缀(如 ns:order/ns:item/ns:price),不能省略 ns:
Transform + Groovy 先统一替换:xml.replaceAll('xmlns:[^=]+="[^"]*"', 'xmlns:ns="http://fixed.uri"')