Groovy 解析器:添加具有特殊命名空间的节点

Groovy parser: add node with special namespace

我正在使用 groovy xml解析器。 我有一个来源 xml,我需要对其进行部分转换以获得稍微不同的目标 xml。 在目标 xml 中,我需要添加一个节点(到目前为止我已经管理过):

ParentNode.appendNode('ChildNode', [: ], StringValue)

结果是: <ChildNode>Text</ChildNode>

但我需要的是:

<n1:ChildNode xmlns:n1="http://any_namespace">Text</n1:ChildNode>

有人可以在这里给点提示吗? 当我尝试以某种方式在函数的括号中添加命名空间时,错误出现在下一条语句中:

String newBody = XmlUtil.serialize(root);

它说命名空间 n1 未定义。

非常感谢! BR

您可以将命名空间定义为属性:

ParentNode.appendNode('n1:ChildNode', ['xmlns:n1': 'http://any_namespace'], stringValue)