姬長信(Redy)

在Groovy中对XML进行排序


我看过有关使用Groovy对XML进行排序的文档

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魔术来使我更轻松