-
读取xml
这里我们不想直接把正则写到代码里,而是想通过xml配置的方式,可以通过修改配置进行更多博客的扩展。Groovy的XmlSlurper是一个非常强大的xml分析工具,可以用与XPath对应的GPath来完成xml的读写。
config.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<!--this is a config file.You can edit this file to support more blogs.-->
<
config
>
<
blog
>
<
name
>sina</
name
>
</
blog
>
<
blog
>
<
name
>diandian</
name
>
</
blog
>
</
config
>
|
我们使用Groovy将xml读入到map中,并使用config.blog.name作为map的key。
1
2
3
4
5
6
7
|
def
lists = [:]
def
posts = [:]
def
config =
new
XmlSlurper().parse(
new
File(
"config.xml"
))
config.blog.
each
{
lists[it.name.toString()]=it.list.toString()
posts[it.name.toString()]=it.post.toString()
}
|
值得注意的是it.name返回的是一个Node类型的对象,需要将其转换为字符串作为key,不然lists['xxx']是永远取不到值的!
摘自原文:http://progressdaily.diandian.com/post/2012-06-12/40028671462