XML生成提供了MarkupBuilder、StreamingMarkupBuilder类
XML操作: MarkupBuilder
MarkupBuilder (): Prints markup to System.out
import groovy.xml.* def xml = new MarkupBuilder() xml.langs("type":currecy){ language("java") language("groovy") language("c++") }
MarkupBuilder (PrintWriter pw): Sends markup to the given PrintWriter
import groovy.xml.* def ps = new StringWriter() def xml = new MarkupBuilder(ps) xml.langs("type":currecy){ language("java") language("groovy") language("c++") } println ps.toString()
XmlParser解析的是xml格式的字符串
import groovy.xml.* def xml = """ <langs type="current"> <language>Java</language> <language>Groovy</language> <language>JavaScript</language> </langs> """ def langs = new XmlParser().parseText(xml) println "type = ${langs.attribute("type")}" langs.language.each{ println it.text() }
xml code
<langs type="current"> <language>Java</language> <language>Groovy</language> <language>JavaScript</language> </langs>
XmlParser进行xml解析
def langs = new XmlParser().parse("languages.xml") println "type = ${langs.attribute("type")}" langs.language.each{ println it.text() }
XML 示例:
<Results> <ResultSet fetchSize="128"> <Row rowNumber="1"> <ID>0000000001</ID> <YEAR>2015</YEAR> <MONTH>1</MONTH> <DID>25.4793</DID> </Row> <Row rowNumber="2"> <ID>0000000001</ID> <YEAR>2015</YEAR> <MONTH>2</MONTH> <DID>20.6522</DID> </Row> <Row rowNumber="3"> <ID>0000000001</ID> <YEAR>2015</YEAR> <MONTH>3</MONTH> <DID>20.6655</DID> </Row> <Row rowNumber="4"> <ID>0000000001</ID> <YEAR>2015</YEAR> <MONTH>4</MONTH> <DID>21.9393</DID> </Row> <Row rowNumber="5"> <ID>0000000001</ID> <YEAR>2015</YEAR> <MONTH>5</MONTH> <DID>21.9393</DID> </Row> <Row rowNumber="6"> <ID>0000000001</ID> <YEAR>2015</YEAR> <MONTH>6</MONTH> <DID>22.2763</DID> </Row> <Row rowNumber="7"> <ID>0000000001</ID> <YEAR>2015</YEAR> <MONTH>7</MONTH> <DID>20.9573</DID> </Row> <Row rowNumber="8"> <ID>0000000001</ID> <YEAR>2015</YEAR> <MONTH>8</MONTH> <DID>20.9573</DID> </Row> <Row rowNumber="9"> <ID>0000000001</ID> <YEAR>2015</YEAR> <MONTH>9</MONTH> <DID>21.2648</DID> </Row> <Row rowNumber="10"> <ID>0000000001</ID> <YEAR>2015</YEAR> <MONTH>10</MONTH> <DID>19.7917</DID> </Row> <Row rowNumber="11"> <ID>0000000001</ID> <YEAR>2015</YEAR> <MONTH>11</MONTH> <DID>19.7917</DID> </Row> <Row rowNumber="12"> <ID>0000000001</ID> <YEAR>2015</YEAR> <MONTH>12</MONTH> <DID>19.9990</DID> </Row> </ResultSet> </Results>
//Method 1 def node = 'DID' directResult = xml.ResultSet.Row.grep{(it.YEAR.text() == '2015' && it.MONTH.text()== '12')}.getAt(node) //output: [19.990] //Method 2 directResult = xml.ResultSet.Row.find{ if(it.YEAR.text() == '2015' && it.MONTH.text() == '12') return it.getAt(node).text() else return "" }.getAt(node).text() //output: 19.990
相关推荐
在IT行业中,XML(eXtensible ...在压缩包中的"Tests"文件可能是测试用例,用于演示这些库在解析XML时的实际应用。通过运行这些测试,开发者可以更直观地了解每个库的用法,并掌握它们在处理不同XML场景下的表现。
1. **解析XML**:首先,使用XMLSlurper或XMLParser将XML字符串或文件转换为Groovy的DOM(文档对象模型)表示。例如: ```groovy def xml = new XmlSlurper().parseText('<xml><node>text</node></xml>') ``` 2. *...
"groovy-xml-2.2.0-beta-1.zip" 文件是Groovy的一个版本,专注于XML处理功能,特别适用于在Groovy中解析、操作和生成XML文档。这个版本为2.2.0的beta-1,意味着它是该版本系列中的早期测试版,开发者可能在其中寻找...
脚本解析工具,可使用Groovy或Xquery解析JSON报文或XML报文
- **解析XML文件**:然后,使用`DocumentBuilder`解析XML文件,得到`Document`对象,表示整个XML文档。 ```java File xmlFile = new File("path_to_xml_file"); Document document = builder.parse(xmlFile); `...
在Java中,解析XML有多种方法,主要包括DOM、SAX和DOM4J。下面将详细介绍这三种解析方式及其对应的jar包。 1. DOM (Document Object Model) DOM是一种基于树形结构的XML解析方法,它将整个XML文档加载到内存中,...
在本教程中,我们将深入探讨如何在Android Studio项目中使用Retrofit与simplexml库一起解析XML数据。简单XML库(Simple XML)是Java中一个轻量级、高效的XML序列化和反序列化库,非常适合处理XML格式的数据。 首先...
本文将深入探讨如何使用PULL解析XML,并结合ButterKnife库进行视图绑定。首先,我们来理解什么是PULL解析。 PULL解析是一种事件驱动的解析方式,由Android SDK提供。它与SAX解析类似,但更适用于移动设备,因为内存...
在Java环境中,解析XML文档通常需要引入特定的库,DOM4J就是其中之一。下面我们将深入探讨DOM4J解析XML的基本概念、使用方法以及它与其他XML解析器的比较。 XML(eXtensible Markup Language)是一种标记语言,广泛...
本篇文章将详细介绍如何利用Xstream进行XML的生成和解析。 **一、Xstream简介** Xstream是Java社区中的一款开源库,由Johannes Link创建,它的设计目标是使XML序列化和反序列化变得简单直观。Xstream的核心理念是...
PullXML解析器是Android系统提供的一种轻量级的XML解析方法,它适用于处理大量的XML数据,特别是当内存有限或需要高效处理流式数据时。本文将深入探讨如何使用PullXML解析本地XML数据,并将解析后的数据存回本地。 ...
**DOM4J解析XML文件** XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件和文档存储等领域。DOM4J是Java社区中一个流行的、功能丰富的XML处理库,它提供了灵活且高效的...
Pull解析是一种轻量级的解析XML的方式,尤其适合在内存有限的移动设备上使用。本篇文章将深入探讨Android中的Pull解析技术,以及如何通过一个简单的Demo来实现XML文档的解析。 Pull解析器(PullParser)是Android ...
Java解析XML时,dom4j是一个非常流行的库,它提供了灵活且强大的API来处理XML文档。dom4j-1.6.1.jar是这个库的一个版本,发布于2005年,它支持XML的读取、写入、操作以及查询功能。在本文中,我们将深入探讨dom4j的...
3. **解析XML文件**:使用`SAXBuilder`或者`JDOMBuilder`可以解析XML文件到一个`Document`对象。例如: ```java SAXBuilder builder = new SAXBuilder(); File xmlFile = new File("path_to_your_xml_file.xml");...
在这个主题中,我们将深入探讨如何在Android环境中使用Dom4J库来解析XML文件。 首先,我们需要了解XML的基本结构。XML(eXtensible Markup Language)是一种标记语言,通过标签(Tags)定义元素(Elements),元素...
本教程将深入讲解如何在Java中使用JDOM库来解析XML文件。 首先,我们需要了解JDOM库。JDOM是Java Document Object Model的简称,它提供了一个全面且高性能的API,专门用于处理XML文档。JDOM的设计目标是使XML处理...
在Android移动开发中,解析XML是一项常见的任务,用于处理服务器返回的数据或本地存储的信息。XML(eXtensible Markup Language)是一种标记语言,它结构清晰、可读性强,适合数据交换和存储。在这个场景中,我们...
8. **Groovy HTML and XML Processing**: 提供了简洁的API来处理HTML和XML文档,如GPath和XmlSlurper。 9. **Grails Integration**: 虽然未明确提及,但Groovy常用于构建Grails框架的应用,这是一个基于Groovy的...
本实例是关于如何使用Java中的JDOM库来解析XML文档的源码示例。 JDOM是一个专门为Java设计的XML处理库,它提供了简单且高效的API,使得开发者能够方便地读取、修改和创建XML文档。以下是对基于Java的JDOM解析XML的...