Я посмотрел документацию по сортировке XML с помощью Groovy
def records = new XmlParser().parseText(XmlExamples.CAR_RECORDS)
assert ['Royale', 'P50', 'HSV Maloo'] == records.car.sort{ it.'@year'.toInteger() }.'@name'
но я пытаюсь отсортировать XML, а затем вернуть отсортированную строку xml. Я знаю, что могу полностью перестроить XML после того, как я закончу сортировку.
Я знаю, что могу выполнить преобразование XML для XML, чтобы отсортировать его
def factory = TransformerFactory.newInstance()
def transformer = factory.newTransformer(new StreamSource(new StringReader(xslt)))
transformer.transform(new StreamSource(new StringReader(input)), new StreamResult(System.out))
НО я искал волшебство Groovy, чтобы мне было легче