代码之家  ›  专栏  ›  技术社区  ›  Aaron Saunders

Groovy中的XML排序

  •  3
  • Aaron Saunders  · 技术社区  · 15 年前

    def records = new XmlParser().parseText(XmlExamples.CAR_RECORDS)
    assert ['Royale', 'P50', 'HSV Maloo'] == records.car.sort{ it.'@year'.toInteger() }.'@name'
    

    但我要做的是对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))
    

    但我想找些神奇的东西让我更容易

    1 回复  |  直到 15 年前
        1
  •  4
  •   rochb    15 年前

    解决方法是直接替换 car records . 不知道是否有更多的魔法存在!

    records.value = records.car.sort{ it.'@year'.toInteger() }
    println XmlUtil.serialize(records)
    
    推荐文章