是否可以使用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>
1条答案
按热度按时间ogq8wdun1#
您输入为“expected”的结果不是一个有效的XML(您可以使用validator进行检查)。属性的值总是用引号括起来:
属性值必须始终用引号括起来。可以使用单引号或双引号。
查看更多here .
出于这个原因,您不应该也可能无法使
MarkupBuilder
产生所需的结果。