加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

好爽!groovy一下xml读取

发布时间:2020-12-14 17:01:52 所属栏目:大数据 来源:网络整理
导读:??? 接触groovy也有比较长一段时间了,刚接触时是刚得挺有趣的,学来玩玩。玩着到后来就忍不住引入到工作中了。多用于做些效率不重要的小任务。最近有个需求是定期从另一个网站提供的接口导入xml数据到数据库,数据量是比较少的。 ??? 在Java中我只用过dom4j
??? 接触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!好爽

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读