Groovy节点 - 添加新子节点只添加结束标记

时间:2015-01-15 12:56:28

标签: xml groovy children xmlslurper

我使用Groovy将新的子节点添加到XML文档中遇到了问题。我不希望新节点中有任何孩子,此时它只是一个占位符。基本上,代码看起来像

trans = new Node(parent, translationsName, new HashMap(), new HashMap(), "")
parent.children.add(trans)

但是,当我检查XML时,所有添加的内容都是

<NODE/>

当我想要的东西就像......

<NODE>
</NODE>

我一直在搜索互联网并阅读文档,但无济于事。有人对这个有经验么?我似乎无法弄清楚我做错了什么。谢谢!

2 个答案:

答案 0 :(得分:1)

您只是在查看空节点的自动关闭语法。注意最后的斜杠,而不是开头的斜杠,就像结束标签一样。您只有两种方法来渲染相同的空节点。

根据您的出借方式,您有时会要求提供任何一种表格,例如: Groovy的XmlNodePrinter具有“expandEmptyElements”属性。性能良好的XML工具应该支持这两种变体。

答案 1 :(得分:1)

如果你真的还需要换行符,那么你必须添加一个文本节点(带换行符)。