我查看了有关使用 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 魔法来让我更轻松