У меня есть запрос XML в виде файла, который я хочу добавить в файл taurus yaml. Для файла yaml требуется строка из одной строки.
У меня он работает с файлом json, делая это;
strMessage=getFileContents("request.json");
//Use a jsonslurper to process the message
def jsonSlurper = new groovy.json.JsonSlurper()
def mapMessage = jsonSlurper.parseText(strMessage)
def jsonMessage= groovy.json.JsonOutput.toJson(mapMessage)
request = jsonMessage
Так что я пытаюсь выполнить тот же процесс с xml эквиваленты;
strMessage=getFileContents("request.xml")
//Use an xmlslurper to process the message
def xmlSlurper = new groovy.util.XmlSlurper()
def mapMessage = xmlSlurper.parseText(strMessage)
def xmlMessage = groovy.util.XmlUtil.serialize(mapMessage)
request = xmlMessage
К сожалению, хотя вывод json выводится в одной строке, версия xml выходит аналогично файлу с большим количеством разрывов строк.
причина, по которой я использую slurpers, заключается в переформатировании файлов, поскольку я не могу контролировать исходные файлы. Мне пришло в голову, что я могу просто проглотить файл и удалить разрывы строк, но запрос в файле yaml будет иметь огромное количество пробелов. И, очевидно, я не могу удалить разрывы строк и пробелы, потому что некоторые пробелы допустимы.
До 'mapMessage' он работает как положено, это всего лишь последний бит, чтобы преобразовать карту в одну XML строку, которая меня побила. какая команда выведет Groovy объект карты в одну строку XML?