groovy MarkupBuilder -生成不封装的属性

gdrx4gfi  于 2023-06-21  发布在  其他
关注(0)|答案(1)|浏览(92)

是否可以使用MarkupBuilder()生成属性而不封装它。我有以下内容:

def writer = new StringWriter()
def xml = new MarkupBuilder(writer)

// generate strings with double quotes
xml.setDoubleQuotes(true);

invoiceId = "123456XXX";
date = "2023-01-06";
amount = 220.36;
  
xml.consolidate(amount:amount.toDouble(),
                    date: date,
                    invoiceId: invoiceId,
                    currency:'EUR');
  
}

但它会产生:

<consolidate amount="220.36" date="2023-01-06" invoiceId="123456XXX" currency="EUR" />
</consolidate>

当预期出现以下情况时:

<consolidate amount=220.36 date="2023-01-06" invoiceId="123456XXX" currency="EUR" />
</consolidate>
ogq8wdun

ogq8wdun1#

您输入为“expected”的结果不是一个有效的XML(您可以使用validator进行检查)。属性的值总是用引号括起来:
属性值必须始终用引号括起来。可以使用单引号或双引号。
查看更多here .
出于这个原因,您不应该也可能无法使MarkupBuilder产生所需的结果。

相关问题