使用 groovy DOMBuilder 省略空属性
Groovy 的 MarkupBuilder 有一个 omitNullAttributes
和一个省略EmptyAttributes
。但 DOMBuilder 没有。这是我的代码,
>>> def xml = DOMBuilder.newInstance()
>>> def maybeEmpty = null
>>> println xml.foo(bar: maybeEmpty)
<foo bar=""/>
如果为空,我希望省略 bar
。我在 Groovy AntBuilder,省略条件属性的答案中找到了解决方法。 . 到 findAll
空属性并删除它们。由于我要生成一个复杂的 DOM,所以我正在寻找其他选项。
Groovy's MarkupBuilder has an omitNullAttributes
and an omitEmptyAttributes
. But DOMBuilder doesn't. This is the code I have
>>> def xml = DOMBuilder.newInstance()
>>> def maybeEmpty = null
>>> println xml.foo(bar: maybeEmpty)
<foo bar=""/>
I want bar
to be omitted if empty. I found a workaround in an answer to Groovy AntBuilder, omit conditional attributes... to findAll
empty attributes and remove them. Since I have a complex DOM to be generated, I'm looking for other options.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我相信没有内置选项,但如果您需要 DOMBuilder,您可以对其进行子类化并过滤属性...
您可能想要像标准 DOMBuilder 中那样调整构造,这只是一个示例。
正如你所说,标准输出是......
I believe there is no built-in option for that, but if you need a DOMBuilder, you could subclass it and filter the attributes...
You might want to tune the construction as in standard DOMBuilder, this is just an example.
standard output as you said was...