一、使用 MarkupBuilder 生成 xml 数据
生成
<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 数据的根节点是 ,
xml 数据中的 标签 生成格式如下 :
xml 标签名称( 标签内容 , 标签属性 : 标签属性值)
生成标签内容 : 标签内容直接写在括号中即可 ; age(18){} 代码就可以生成 18 内容 ;
生成标签属性 : 标签属性使用键值对方式生成 ; name("Tom", code: "utf-8") {} 代码可以生成 Tom 内容 ;
二、完整代码示例
完整代码示例 :
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 文件 ;