groovy基本語法--XML及HTML
阿新 • • 發佈:2018-12-19
1、groovy對XML及HTML的支援
Groovy 引入了一些全新的、更加合理的方法來建立和處理 XML及HTML。程式碼更加簡潔,更具表達性。
- XML標記構建器Groovy支援基於樹的標記生成器BuilderSupport,它可以被子類化以生成各種樹結構物件表示
- XML解析器 - Groovy XmlParser類使用一個簡單的模型來將XML文件解析為Node例項的樹。
2、讀取XML檔案
建立XML檔案languages.xml
<langs type="current"> <language>Java</language> <language>Groovy</language> <language> <a>aaa</a> </language> </langs>
讀取XML檔案,並解析
def langs = new XmlParser().parse("src/languages.xml")
println "type = ${langs.attribute("type")}"
langs.language.each{
println it.text()
}
結果輸出如下:
type = current
Java
Groovy
aaa
3、解析XML字串
def xml = """ <langs type="current"> <language>Java</language> <language>Groovy</language> <language>JavaScript</language> </langs> """ def lang = new XmlParser().parseText(xml) println "type = ${lang.attribute("type")}" lang.language.each{ println it.text() } 結果輸出如下: type = current Java Groovy JavaScript
4、建立XML檔案
def xmls = new groovy.xml.MarkupBuilder()
xmls.langs(type:"current"){
language("Java")
language("Groovy")
language("type":"JavaScript"){
a("a")
}
}
println xmls
結果輸出:
<langs type='current'>
<language>Java</language>
<language>Groovy</language>
<language type='JavaScript'>
<a>a</a>
</language>
</langs> [email protected]
5、構建HTML
def sw = new StringWriter()
def html = new groovy.xml.MarkupBuilder(sw)
html.html{
head{
title("Links")
}
body{
h1("Here are my HTML bookmarks")
table(border:1){
tr{
th("what")
th("where")
}
tr{
td("Groovy Articles")
td{
a(href:"http://ibm.com/developerworks", "DeveloperWorks")
}
}
}
}
}
def f = new File("index.html")
f.write(sw.toString())
println sw.toString()
生成index.html檔案,檔案內容如下:
<html>
<head>
<title>Links</title>
</head>
<body>
<h1>Here are my HTML bookmarks</h1>
<table border='1'>
<tr>
<th>what</th>
<th>where</th>
</tr>
<tr>
<td>Groovy Articles</td>
<td>
<a href='http://ibm.com/developerworks'>DeveloperWorks</a>
</td>
</tr>
</table>
</body>
</html>