DataWeave 2.0如何向现有XML结构首个UserArea/PropertyList注入新元素
你可以使用DataWeave 2的update操作符实现局部更新,无需重构完整XML结构,示例代码如下:
%dw 2.0 output application/xml indent = true --- payload update { // 匹配root下第一个UserArea节点中的PropertyList case pl at .root.UserArea[0].PropertyList -> pl ++ { Property: { NameValue @(name: "new.attribute"): "new value" } } }
代码逻辑说明:
update操作符只会修改匹配到的目标节点,其余XML结构会完全保留,不需要手动重写所有节点- 用
UserArea[0]明确匹配第一个UserArea节点,不会影响后续的UserArea内容 ++操作符会在原有PropertyList的子节点末尾追加需要的新Property元素
内容的提问来源于stack exchange,提问作者user1905307
相关产品推荐
相关产品推荐

