生成
<student>
<name code="utf-8">Tom</name>
<age>18</age>
</student>
样式的 xml 文件 ,
首先 , 创建 FileWriter 对象 , 之后用于将生成的 xml 数据输出到文件中 ;
def fileWriter = new FileWriter(new File("a.xml"))
然后 , 创建 MarkupBuilder 对象 , 构造函数中传入 FileWriter 表示将 xml 文件写出到文件中 ;
// 创建 MarkupBuilder 对象
// 构造函数中传入 FileWriter 表示将 xml 文件写出到文件中
def markupBuilder = new MarkupBuilder(fileWriter)
最后 , 生成 xml 数据 ;
// 生成上述 xml 文件
markupBuilder.student{
// 格式如下 :
// xml 标签名称( 标签内容 , 标签属性 : 标签属性值)
// 生成标签内容 : 标签内容直接写上即可
// 生成标签属性 : 标签属性使用键值对方式生成
name("Tom", code: "utf-8") {}
age(18) {}
}
这里详细介绍下 xml 数据的生成过程 ,
markupBuilder.student
表示 , 生成的 xml 数据的根节点是 <student></student>
,
xml 数据中的 标签 生成格式如下 :
xml 标签名称( 标签内容 , 标签属性 : 标签属性值)
age(18){}
代码就可以生成 <age>18</age>
内容 ;
name("Tom", code: "utf-8") {}
代码可以生成 <name code="utf-8">Tom</name>
内容 ;
完整代码示例 :
import groovy.xml.MarkupBuilder
"""
<student>
<name code="utf-8">Tom</name>
<age>18</age>
</student>
"""
def fileWriter = new FileWriter(new File("a.xml"))
// 创建 MarkupBuilder 对象
// 构造函数中传入 FileWriter 表示将 xml 文件写出到文件中
def markupBuilder = new MarkupBuilder(fileWriter)
// 生成上述 xml 文件
markupBuilder.student{
// 格式如下 :
// xml 标签名称( 标签内容 , 标签属性 : 标签属性值)
// 生成标签内容 : 标签内容直接写上即可
// 生成标签属性 : 标签属性使用键值对方式生成
name("Tom", code: "utf-8") {}
age(18) {}
}
生成的 xml 文件如下 :
<student>
<name code='utf-8'>Tom</name>
<age>18</age>
</student>
下图中 , 右侧的 a.xml 就是生成的 xml 文件 ;