Groovy基本操作(9):构造器

版权声明:转载随意,附上转载信息即可 :) https://blog.csdn.net/Al_assad/article/details/78044572

Groovy 构造器


在开发过程中,有时候会花大量的重复代码待构造 数据结构,域类,XML,GUI布局,Groovy 提供了相应的构造器对象方法来简化这一过程,以下介绍一些常用的构造器

DOM 构造器 DOMBuilder

DOM构建器可用于解析HTML,XHTML和XML,并将其转换为W3C DOM树。
def domStr = """
 <studentList createDate='2017-9-20'>
  <student>
    <id>1263781</id>
    <name>assad</name>
    <age>20</age>
    <city>Guangzhou</city>
  </student>
  <student>
    <id>3729321</id>
    <name>Kim</name>
    <age>21</age>
    <city>Shenzhen</city>
  </student>
  <student>
    <id>3729329</id>
    <name>Vency</name>
    <age>22</age>
    <city>Shanghai</city>
  </student>
</studentList>    """;
    
def reader = new StringReader(domStr);
def doc = DomBuilder.parse(reader);

JSON 构造器 JSONBuilder

JsonBuilder用于创建 json 类型的对象。
def builder = new JsonBuilder() ;

def root = builder.students {
   student {
      name 'assad'
      city 'Guangzhou';
      Marks(
         Subject1: 90,
         Subject2: 95,
         Subject3:94,
      )
   student {
      name 'vency'
      city 'Shanghai';
      Marks(
         Subject1: 91,
         Subject2: 92,
         Subject3:98,
      )   
   } 
} 
    
println(root.toString());

节点构造器 NodeBuilder

NodeBuilder用于创建Node对象的嵌套树以处理任意数据。
def builder = new NodeBuilder() 

def studentlist = builder.userList {
   user(name: 'assad', city : 'Guangzhou')
   user(name: 'Laval', city : 'Shenzhen')
   user(name: 'Jsou', city : 'Hangzhou') 
} 

println(studentlist)

文件目录构造器

FileTreeBuilder用于构造一个复杂目录。
tmpDir = File.createTempDir(); 
def fileTreeBuilder = new FileTreeBuilder(tmpDir);

fileTreeBuilder.dir('MyFile') {
   dir('Project') {
      dir('code') {
        file('Helloworld.groovy', 'println "Hello World"')
      }
   } 
}



展开阅读全文

没有更多推荐了,返回首页