接触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!好爽
分享到:
相关推荐
在Java生态系统中,Groovy经常被用来处理XML文档,因为它的动态特性使得XML的读取、修改和生成变得更加简单。 在Groovy中,XML被视为一种对象,可以通过内置的XMLSlurper和XMLParser库来解析和操作。XMLSlurper是...
例如,如果需要快速、简单的XML解析,Groovy的XMLSlurper可能是一个好选择;而如果涉及到大量数据处理和复杂的XML结构,可能需要考虑性能更强的Dom4j或XStream。在深入学习这些库时,了解它们的基本用法、优势和限制...
Groovy也可以利用Apache HttpClient库,提供更丰富的功能和更好的性能。首先,你需要添加依赖,如在Gradle中: ``` dependencies { implementation 'org.apache.httpcomponents:httpclient:4.5.13' } ``` ...
在`spring-beans-groovy`中,Groovy的Bean定义被编译为一个`GroovyBeanDefinitionReader`实例,该类负责读取Groovy脚本并转换为Spring的`BeanDefinition`对象。`BeanDefinition`是Spring容器中的核心概念,它包含了...
总结来说,从网络读取JSON文件并保存到XML文件,你需要掌握网络请求、JSON解析和XML序列化等技术。在Android中,可以结合HttpURLConnection、org.json库、json2xml库以及FileOutputStream等工具来实现这个过程。记住...
JDOM是Java中一个专门用来处理XML的库,它提供了一种高效、灵活且完全符合Java语言习惯的方式来读取、写入和操作XML文档。下面我们将详细探讨JDOM解析本地XML的相关知识点。 首先,JDOM的核心概念包括`Element`、`...
Groovy脚本可以通过读取数据库表结构,或者解析JSON、XML等数据格式,获取到字段信息,然后根据这些信息动态生成Java类。通常,一个POJO类会包含属性(fields)、getter和setter方法,以及可能的构造函数。Groovy的...
Groovy是一种基于JVM的动态编程语言,它与Java语法高度兼容,但提供了更简洁、灵活的语法。在数据挖掘领域,Weka是一款强大的开源工具,集成了多种机器学习算法,包括决策树。本篇文章将重点讲解如何使用Groovy调用...
标题中的“生成hibernate配置文件和XML的辅助类generate”指的是在Java开发中使用Hibernate框架时,为了简化配置过程,开发者可能会创建一个辅助工具类,这个类可以帮助自动生成Hibernate所需的配置文件和映射XML...
通过注解,开发者可以轻松地将Java对象与XML结构进行绑定,使得XML数据的读取和写入变得非常直观。 ### 2. 安装Simple-XML 在项目中使用Simple-XML,首先需要将其作为依赖添加到构建工具中。如果你使用的是Maven,...
Groovy是一种基于Java平台的、...无论是直接从文件系统读取Groovy脚本,还是从数据库动态获取并执行,都能极大地提升项目的灵活性和可扩展性。在实际开发中,可以根据具体需求选择合适的方式来利用Groovy的强大功能。
**正文** XML(eXtensible Markup Language)...通过理解DOM解析的基本步骤和注意事项,开发者可以有效地读取、解析并利用XML文件中的信息。在实际项目中,根据具体需求和文件大小,选择合适的解析方式是非常重要的。
在Android开发中,XML文件常用于存储数据,如配置信息、布局...通过使用Pull解析,我们可以高效地处理XML文档,同时注意处理好权限问题。希望这个教程对大家在实际项目开发中有所帮助,提升对Android XML解析的理解。
最后,编写Groovy脚本以读取游标数据并将它们转换为多层JSON格式。Groovy脚本将遍历每个游标的结果,并使用Groovy内置的JSON支持来构建输出JSON。 ```groovy import groovy.json.JsonBuilder import groovy.json....
SAX是一种事件驱动的解析器,它不会一次性加载整个XML文档,而是逐行读取并触发相应的事件。这种方式对内存占用较小,适合处理大型XML文件。SAX解析器的核心接口是`org.xml.sax.XMLReader`,而解析过程通常通过实现`...
在Android应用开发中,解析XML数据是常见的需求,例如从网络服务获取数据或者读取本地资源文件。本篇文章将深入探讨如何在Android中使用Pull解析器生成XML数据。 Pull解析器是一种轻量级的解析方式,相比DOM...
在Java编程环境中,读取和操作Microsoft Word文档通常需要依赖外部库,Apache POI就是其中最常用的一个。Apache POI是一个开源项目,它允许开发者使用Java处理Microsoft Office格式的文件,包括Word(.doc和.docx)...
在Java中读取Excel 2007文件,我们需要使用Apache POI的XSSF(XML Spreadsheet)工作簿模型。 **步骤一:添加Apache POI依赖** 首先,在你的项目中,你需要导入Apache POI的库。如果你使用的是Maven,可以在pom.xml...
JDOM是Java中处理XML的一种库,它提供了一种高效且易于使用的API来创建、读取和修改XML文档。本篇文章将详细探讨JDOM在读写XML操作中的应用。 ### 1. JDOM简介 JDOM是一个针对Java的DOM(Document Object Model)...
dom4j-1.6.1.jar是这个库的一个版本,发布于2005年,它支持XML的读取、写入、操作以及查询功能。在本文中,我们将深入探讨dom4j的核心概念和使用方法,以及如何在Java项目中集成和应用它。 1. **DOM4J简介** DOM4J...