您的位置:首页 > 编程语言 > Java开发

groovy 之 对xml的解析 和 对文件的读取

2012-08-24 13:17 441 查看
Groovy 是 Java 平台上设计的面向对象编程语言。这门动态语言拥有类似 Python、Ruby 和 Smalltalk 中的一些特性,可以作为 Java 平台的脚本语言使用。Groovy 的语法与 Java 非常相似,以至于多数的 Java 代码也是正确的 Groovy 代码。Groovy 代码动态的被编译器转换成 Java 字节码。由于其运行在 JVM 上的特性,Groovy 可以使用其他 Java 语言编写的库。

对文件的解析
1.创建customers.xml文件,文件内容如下:<?xml version="1.0" encoding="UTF-8"?>

<customers>

<corporate>

<customer name="bill gates" company="microsoft"></customer>

<customer name="steve jobs" company="apple"></customer>

<customer name="bill dyh" company="sun"></customer>

</corporate>

<consumer>

<customer name="jone Doe"></customer>

<customer name="jane Doe"></customer>
</consumer>

</customers>2.创建.groovy的类 FileOpration.groovy,代码如下 (注意:代码和xml文件放在同一个包下)/**

* @author yangy

* Aug 21, 2012

*/

public class FileOpration{

static void main(String[]args){

/* 对file文件进行读取操作*/

def path = FileOpration.class.getResource("").path;

def number = 0

//对xml文件进行解析

new File(path+'customers.xml').eachLine{

line ->

number++

println "$number:$line"

}

/*递归 输出所有的文件名称*/

new File('.').eachFileRecurse{

println it

}

}

}

哦,对了,忘记了groovy的每行代码可以不写分号的,当然加上也可以
下面的是对xml的解析,我感觉相当犀利,groovy内部可能对其做了很强大的优化,这是后话了,上代码1. xml文件还是上面的文件2.创建XmlOpration.groovy类,对xml文件进行解析,代码如下:/**

* @author yangy

* Aug 21, 2012

*/

public class XmlOpration{

static void main(String[]args){

/*对xml进行读取操作*/

def path = XmlOpration.class.getResource("").path;

def customers = new XmlSlurper().parse(new File(path +"customers.xml"))

/*对文件进行解析*/

for(customer in customers.corporate.customer){

println "${customer.@name} works for${customer.@company}";

}

}

}
对xml的解析和对文件的读取就到此为止了,当然可以写一些封装的方法,来供自己的项目调用也是很不错的,可以弄成一个强大的类库,之后会写对string/list的一些使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息