首页 > 解决方案 > Groovy 解析器:添加具有特殊命名空间的节点

问题描述

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

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

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

但我需要的是这个:

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

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

字符串 newBody = XmlUtil.serialize(root);

它说命名空间 n1 没有定义。

非常感谢!BR

标签: parsinggroovynamespaces

解决方案


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

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

推荐阅读