Попробуйте
def doWithWebDescriptor = { xml ->
xml << {
'mime-mapping' {
'extension'("htc")
'mime-type'("text/x-component")
}
}
}
(обратите внимание на leftShift
вместо plus
).
В качестве альтернативы, если вы хотите убедиться, что ваш новый элемент вставлен в определенную позицию в XML, вы можете получить дочерний элемент, после которого вы хотите, чтобы ваш элемент был вставлен, и добавить свой с помощью оператора plus
, Например, я использую следующий код для добавления нового отображения сервлета:
def servletMappings = xml.'servlet-mapping'
servletMappings[servletMappings.size() - 1] + {
'servlet-mapping' {
'servlet-name'("myServlet")
'url-pattern'("/myURL")
}
}
Если вы хотите углубиться в это, посмотрите на groovy.util.slurpersupport.NodeChild
(аргумент xml
этого типа) и его суперкласс groovy.util.slurpersupport.GPathResult
.
Удачи!