3
我明白,使用Groovy的XMLSlurper和StreamingMarkupBuilder時,XML文檔更改不會立即生效。但是,每當我更改文檔時,我都不會很高興需要進行大量處理。我得到它的唯一方法是,如果我這樣做:Groovy XMLSlurper appendNode - 如何強制它生效?
...
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
})
}
每次我追加一個新的節點。一定有更好的方法!誰能幫忙?
那麼你使用'XmlSlurper'作爲你的應用程序的模型嗎?爲什麼不使用slurper將初始數據轉化爲某種更正式的結構(元素列表等),處理這些數據,然後在完成時將其寫成XML?還是有我失蹤的東西? –
我該怎麼做?仍然通過Groovy?或JDOM或其他... – Mark