Groovy XMLSlurper appendNode - как заставить его вступить в силу? - PullRequest
3 голосов
/ 15 августа 2011

Я понимаю, что изменения документа XML не являются немедленными при использовании Groovy XMLSlurper и StreamingMarkupBuilder.Тем не менее, я не рад, что мне приходится много обрабатывать всякий раз, когда я меняю документ.Единственный способ заставить его работать, если я сделаю это:

    ...
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
  } )
}

каждый раз, когда я добавляю новый узел.Там должен быть лучший путь!Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 21 августа 2011

XMLParser был бы лучшим вариантом, так как он допускает немедленную обратную связь по вставленным узлам.

...