好爽!groovy一下xml读取

前端之家收集整理的这篇文章主要介绍了好爽!groovy一下xml读取前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
    接触groovy也有比较长一段时间了,刚接触时是刚得挺有趣的,学来玩玩。玩着到后来就忍不住引入到工作中了。多用于做些效率不重要的小任务。最近有个需求是定期从另一个网站提供的接口导入xml数据到数据库,数据量是比较少的。
    在Java中我只用过dom4j做xml解释,对着一堆document,node,element之类的东西,还要一层一层的深入。。。想起都已经觉得烦
    在groovy的文档上扫了一下,发现有个叫XmlSlurper的东东,提供的接口可以让我们像使用一个对象一样去读一个element,非常直观简单。

用文档中提供的XML为例:

example.xml
class XmlExamples {
  static def CAR_RECORDS = '''
    <records>
      <car name='HSV Maloo' make='Holden' year='2006'>
        <country>Australia</country>
        <record type='speed'>Production Pickup Truck with speed of 271kph</record>
      </car>
      <car name='P50' make='Peel' year='1962'>
        <country>Isle of Man</country>
        <record type='size'>Smallest Street-Legal Car at 99cm wide and 59 kg in weight</record>
      </car>
      <car name='Royale' make='Bugatti' year='1931'>
        <country>France</country>
        <record type='price'>Most Valuable Car at $15 million</record>
      </car>
    </records>
  '''
}


readxml.groovy
def content = .....//省略把xml读入成String的代码

def records = new XmlSlurper().parseText(content)
def allRecords = records.car
allRecords.each() {
  println it.name + "=" + it.@name.text()
  println it.name + ".country=" + it.country.text()
}


这样就会打印出N行
car=XXX
car.country=XXX

Wow!好爽

猜你在找的Groovy相关文章