Пожалуйста, см: Creating XML using Groovy's MarkupBuilder. В частности, раздел «Пример использования пространства имен».
В принципе, вы делаете это так же, как tim_yates вам сказал выше, но поставить пространство имен/префикс привязок от руки:
import groovy.xml.*
def buildRequestXml() {
def requestXml = { //add namespace and version attribute on root
mkp.xmlDeclaration()
'test:root'('xmlns:test': 'urn:blah') {
FirstName("Name1")
LastName("Name2")
DOB("12/19/1983") //add attribute format="mm/dd/yyyy"
}
}
new StreamingMarkupBuilder().bind(requestXml)
}
println buildRequestXml()
Это специальный апостроф синтаксис, который позволяет поставить двоеточие в имени , Вот как вы даете имена переменных в groovy, которые не являются действительными синтаксисом java. Для получения дополнительной информации см. this post.
Могу ли я использовать 'mkp' просто так, не объявляя его нигде? –
Это часть streamingmarkupbuilder, которая является делегатом закрытия, когда она передана для связывания. –