我知道在使用 Groovy 的 XMLSlurper 和 StreamingMarkupBuilder 时,XML 文档的更改不会立即发生。但是,每当我更改文档时,我都不乐意进行大量处理。我让它工作的唯一方法是如果我这样做:
...
labDoc = new XmlSlurper().parseText(serializeXml(labDoc))
...
def String serializeXml(GPathResult xml){
XmlUtil.serialize(new StreamingMarkupBuilder().bind {
mkp.declareNamespace("lab", "www.myco.com/LabDocument")
mkp.yield labDoc
} )
}
每次我追加一个新节点。一定有更好的方法!任何人都可以帮忙吗?