HTTP Builder / Groovy - получить исходный текст _и_ XmlSlurper вывод? - PullRequest
0 голосов
/ 03 июня 2010

Я читаю здесь: http://groovy.codehaus.org/modules/http-builder/doc/get.html

Кажется, я могу получить

i) Вывод XMLSlurper, проанализированный NekoHTML с использованием:

def http = new HTTPBuilder('http://www.google.com') 
def html = http.get( path : '/search', query : [q:'Groovy'] )

ii) Необработанный текст с использованием:

http.get( path : '/search',
          contentType : TEXT,
          query : [q:'Groovy'] ) { resp, reader ->          
  println "response status: ${resp.statusLine}"
  println 'Headers: -----------'
  resp.headers.each { h ->
  println " ${h.name} : ${h.value}"
  }
  println 'Response data: -----'
  System.out << reader
  println '\n--------------------'
}

У меня возникли некоторые проблемы, и я хотел бы получить ОБА (i) и (ii) для отладки моего кода XmlSlurper по фактическому HTML, который я получаю.

Любые предложения, как мне поступить?

Я могу легко создать экземпляр объекта XmlSlurper с соответствующей строкой, используя метод parseString (string) или метод parse (reader), но мне кажется, что я не могу получить правильный шаг обработки Neko.

Есть какие-нибудь подсказки?

Спасибо! Миша

1 Ответ

3 голосов
/ 04 июня 2010

Хорошо, вот оно.

Выяснил из: http://groovy.codehaus.org/Testing+Web+Applications

def html=http.get(uri:'http://www.google.com',contentType:groovyx.net.http.ContentType.TEXT) { resp,reader ->
  def s=reader.text
  new File("temp.html")<<s
  new XmlSlurper(new org.cyberneko.html.parsers.SAXParser()).parseText(s)          
}

Спасибо!Миша

...