我可以在不转义属性值的情况下创建Groovy节点吗?

时间:2013-09-06 13:56:14

标签: xml groovy gradle ivy jaxp

我正在编写一个Gradle构建脚本,用于构建Ivy模块描述符。我需要Node喜欢

<dependency [...] conf="default->foo"/>

我想这样做:

node.dependencies[0].appendNode("dependency", [
                        // [...]
                        conf: "default->${dep.configuration}",
                        ])

其中node是一个Node实例,dep.configuration == 'foo'。但它出现了

<dependency [...] conf="default-&gt;foo"/>

是否有一种舒适的方式来创建节点而不会在属性值中转义>

1 个答案:

答案 0 :(得分:1)

Ivy使用XML解析器来读取模块描述符,因此它不会抱怨&gt;实体引用。而&lt;在属性值中是有效的XML,JAXP序列化不会以这种方式打印,也无法对其进行配置。

如果您出于审美原因需要更改此设置,则必须在写入XML文件后将其替换。