я могу использовать XmlSlurper непосредственно на объекте w3c.dom.Node - PullRequest
3 голосов
/ 25 мая 2011

Я экспериментирую с GroovyWS в надежде полностью заменить клиентский код Axis2.

Одна из вызываемых мной операций Web-сервиса возвращает фрагменты XML, которые мне нужно превратить в Groovy Beans.

Я получаю экземпляры com.sun.org.apache.xerces.internal.dom.ElementNSImpl, исходящие из вызова WebService.

Я могу позвонить new XmlSlurper().parseText(it as String), где it - это экземпляр ElementNSImpl.

Однако, конечно, это записывает Элемент в Строку перед повторным анализом и выплескиванием его. Есть ли способ избежать этого ненужного шага?

В конечном итоге я хочу превратить захваченный объект в Groovy Bean; Есть лучший способ сделать это. Мне было интересно узнать о DomToGroovy, но это все равно дает мне строку, которую я затем запустил в Groovy Shell.

1 Ответ

1 голос
/ 25 мая 2011

Я не думаю, что XmlSlurper поддерживает такие прямые преобразования, вам, вероятно, придется написать что-то самостоятельно. Может быть, если вы покопаетесь в источнике XmlSlurper, будет способ сделать это, расширив и добавив новый метод parse (). В противном случае, если у вас нет серьезных проблем с производительностью, я бы сказал, что вы на правильном пути.

...