3

我正在试验 GroovyWS,希望能完全替换 Axis2 客户端代码。

我调用的 Web 服务操作之一返回 XML 片段,我需要将其转换为 Groovy Bean。

我收到了com.sun.org.apache.xerces.internal.dom.ElementNSImpl来自 WebService 调用的实例。

我可以调用new XmlSlurper().parseText(it as String)whereit的实例ElementNSImpl

但是,这当然会在重新解析和 slurping 之前将元素写入字符串。有没有办法避免这个不必要的步骤?

最终我想把 slurped 对象变成 Groovy Bean;有一个更好的方法吗。我想知道 DomToGroovy,但这仍然给了我一个字符串,然后我在 Groovy Shell 中运行了它。

4

1 回答 1

1

我不认为 XmlSlurper 支持这样的直接转换,您可能必须自己编写一些东西。也许如果您深入研究 XmlSlurper 源代码,将会有一种方法可以通过扩展和添加新的 parse() 方法来实现。否则,除非您有重大的性能问题,否则我会说您走在正确的轨道上。

于 2011-05-25T16:52:08.827 回答