Groovy - XML Slurper解析SoapResponse而不是File

时间:2014-04-15 13:49:52

标签: xml soap groovy

我正在尝试解析SOAP对象 - 我正在查看Groovy中的XML slurper,但它想要从XML文件中读取。我宁愿避免使用该文件(会有数百万行,写入文件也不太实用) - 有没有办法将SOAPResponse对象传递给XMLSluper而不是文件?

SOAPMessage soapResponse;

2 个答案:

答案 0 :(得分:2)

XMLSlurper提供了一系列重载parse方法和parseText方法,可以按以下格式读取XML输入

  • 文件
  • 的InputSource
  • 的InputStream
  • 阅读器
  • 字符串
  • URI

您没有提及SOAPResponse对象的类型,但它很可能是上述之一(或者很容易转换为其中之一)。

答案 1 :(得分:1)

  • XmlSluprer可以从任意来源读取XML,而不仅仅是文件。你可以这样做:

    InputStream in = ... //指向您的数据流
    def parsedData = new XmlSlurper()。parse(in)

这将使您可以将SOAP对象作为可以操作的GPathResult。

  • 如果这是一个有效的SOAP对象,来自其架构稳定的源,您可能最好使用一种机制,该机制本来就是为了做到这一点。您可以使用经典的Java JAXB机制,也可以使用GroovyWS以更加时髦的方式进行操作。
祝你好运!