Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Groovy中创建动态XML标记_Groovy - Fatal编程技术网

在Groovy中创建动态XML标记

在Groovy中创建动态XML标记,groovy,Groovy,我正在使用Groovy MarkupBuilder创建一个XML文件。当我有静态标签时,我可以做得很好,就像这样 def userCreationNumber = "12530"; def userCreationDate = "02/02/2020"; def userCreationAuthor = "admin"; Creation{ Revision(userCreationNumber) Date(userCreationDate ) Author(userCr

我正在使用Groovy MarkupBuilder创建一个XML文件。当我有静态标签时,我可以做得很好,就像这样

def userCreationNumber = "12530";
def userCreationDate = "02/02/2020";
def userCreationAuthor = "admin";
Creation{
    Revision(userCreationNumber)
    Date(userCreationDate )
    Author(userCreationAuthor)
}
<Creation>
    <Revision>12530</Revision>
    <Date>02/02/2020</Date>
    <Author>admin</Author>
</Creation>
def actionArray = new ArrayList();
actionArray.add("Added");
actionArray.add("Removed");
actionArray.add("Disabled");

actionArray.each{ action ->
    action(**this is a variable**){
        Revision(userCreationNumber)
        Date(userCreationDate )
        Author(userCreationAuthor)
    }
}
<Added>
    <Revision>12530</Revision>
    <Date>02/02/2020</Date>
    <Author>admin</Author>
</Added>
<Removed>
    <Revision>12530</Revision>
    <Date>02/02/2020</Date>
    <Author>admin</Author>
</Removed>
<Disabled>
    <Revision>12530</Revision>
    <Date>02/02/2020</Date>
    <Author>admin</Author>
</Disabled>
这将创建如下的XML

def userCreationNumber = "12530";
def userCreationDate = "02/02/2020";
def userCreationAuthor = "admin";
Creation{
    Revision(userCreationNumber)
    Date(userCreationDate )
    Author(userCreationAuthor)
}
<Creation>
    <Revision>12530</Revision>
    <Date>02/02/2020</Date>
    <Author>admin</Author>
</Creation>
def actionArray = new ArrayList();
actionArray.add("Added");
actionArray.add("Removed");
actionArray.add("Disabled");

actionArray.each{ action ->
    action(**this is a variable**){
        Revision(userCreationNumber)
        Date(userCreationDate )
        Author(userCreationAuthor)
    }
}
<Added>
    <Revision>12530</Revision>
    <Date>02/02/2020</Date>
    <Author>admin</Author>
</Added>
<Removed>
    <Revision>12530</Revision>
    <Date>02/02/2020</Date>
    <Author>admin</Author>
</Removed>
<Disabled>
    <Revision>12530</Revision>
    <Date>02/02/2020</Date>
    <Author>admin</Author>
</Disabled>
这与:

Added{
    Revision(userCreationNumber)
    Date(userCreationDate )
    Author(userCreationAuthor)
}
Removed{
    Revision(userCreationNumber)
    Date(userCreationDate )
    Author(userCreationAuthor)
}
Disabled{
    Revision(userCreationNumber)
    Date(userCreationDate )
    Author(userCreationAuthor)
}
这将创建如下的XML

def userCreationNumber = "12530";
def userCreationDate = "02/02/2020";
def userCreationAuthor = "admin";
Creation{
    Revision(userCreationNumber)
    Date(userCreationDate )
    Author(userCreationAuthor)
}
<Creation>
    <Revision>12530</Revision>
    <Date>02/02/2020</Date>
    <Author>admin</Author>
</Creation>
def actionArray = new ArrayList();
actionArray.add("Added");
actionArray.add("Removed");
actionArray.add("Disabled");

actionArray.each{ action ->
    action(**this is a variable**){
        Revision(userCreationNumber)
        Date(userCreationDate )
        Author(userCreationAuthor)
    }
}
<Added>
    <Revision>12530</Revision>
    <Date>02/02/2020</Date>
    <Author>admin</Author>
</Added>
<Removed>
    <Revision>12530</Revision>
    <Date>02/02/2020</Date>
    <Author>admin</Author>
</Removed>
<Disabled>
    <Revision>12530</Revision>
    <Date>02/02/2020</Date>
    <Author>admin</Author>
</Disabled>

12530
02/02/2020
管理员
12530
02/02/2020
管理员
12530
02/02/2020
管理员

您可以使用GString插值:

import groovy.xml.*

def writer = new StringWriter()
def xml = new MarkupBuilder(writer)
def userCreationNumber = "12530"
def userCreationDate = "02/02/2020"
def userCreationAuthor = "admin"

def actionArray = [ "Added", "Removed", "Disabled" ]

xml.records() {
   actionArray.each{ action ->
      "$action"{
        Revision( userCreationNumber )
        Date( userCreationDate )
        Author( userCreationAuthor )
      }
   }
}

writer
输出

<records>
  <Added>
    <Revision>12530</Revision>
    <Date>02/02/2020</Date>
    <Author>admin</Author>
  </Added>
  <Removed>
    <Revision>12530</Revision>
    <Date>02/02/2020</Date>
    <Author>admin</Author>
  </Removed>
  <Disabled>
    <Revision>12530</Revision>
    <Date>02/02/2020</Date>
    <Author>admin</Author>
  </Disabled>
</records>

12530
02/02/2020
管理员
12530
02/02/2020
管理员
12530
02/02/2020
管理员

还要注意,您需要一个根元素。

您可以使用GString插值:

import groovy.xml.*

def writer = new StringWriter()
def xml = new MarkupBuilder(writer)
def userCreationNumber = "12530"
def userCreationDate = "02/02/2020"
def userCreationAuthor = "admin"

def actionArray = [ "Added", "Removed", "Disabled" ]

xml.records() {
   actionArray.each{ action ->
      "$action"{
        Revision( userCreationNumber )
        Date( userCreationDate )
        Author( userCreationAuthor )
      }
   }
}

writer
输出

<records>
  <Added>
    <Revision>12530</Revision>
    <Date>02/02/2020</Date>
    <Author>admin</Author>
  </Added>
  <Removed>
    <Revision>12530</Revision>
    <Date>02/02/2020</Date>
    <Author>admin</Author>
  </Removed>
  <Disabled>
    <Revision>12530</Revision>
    <Date>02/02/2020</Date>
    <Author>admin</Author>
  </Disabled>
</records>

12530
02/02/2020
管理员
12530
02/02/2020
管理员
12530
02/02/2020
管理员
还要注意,您需要一个根元素