好爽!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 + "=" + [email protected]()
  println it.name + ".country=" + it.country.text()
}


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

Wow!好爽

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐