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)
我正在使用 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)