【发布时间】:2022-03-23 20:03:26
【问题描述】:
我对这篇文章有一个后续问题 appendNode using xmlSlurper in a specific position 。是否可以使用命名空间添加 Salutation 标签,例如,实现以下输出
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<prnReq>
<ltrPrnReqs>
<ltrPrnReq>
<ltrData>
<ns1:Salutation xmlns:ns1 = \"http://namespace\">text</Salutation>
</ltrData>
</ltrPrnReq>
</ltrPrnReqs>
</prnReq>
那里给出的代码是
def xmlString = \"\"\"<prnReq>
<ltrPrnReqs>
<ltrPrnReq>
<ltrData>encoded64 text</ltrData>
</ltrPrnReq>
</ltrPrnReqs>
</prnReq>\"\"\"
def xml = new XmlSlurper().parseText(xmlString)
def ltrData = xml.\'**\'.find{it.name() == \'ltrData\'}
ltrData.replaceBody()
ltrData.appendNode {
Salutation(\'text\')
}
println groovy.xml.XmlUtil.serialize(xml)
上面的代码产生下面的输出,但我也想添加命名空间
<?xml version=\"1.0\" encoding=\"UTF-8\"?><prnReq>
<ltrPrnReqs>
<ltrPrnReq>
<ltrData>
<Salutation>text</Salutation>
</ltrData>
</ltrPrnReq>
</ltrPrnReqs>
</prnReq>
标签: xml groovy namespaces append xmlslurper