2010-06-03 62 views
0

我讀這裏: http://groovy.codehaus.org/modules/http-builder/doc/get.htmlHTTP Builder/Groovy - 獲取源文本_and_ XmlSlurper輸出?

我似乎能夠得到

I)由NekoHTML使用解析的XmlSlurper輸出:

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--------------------' 
} 

我有一些麻煩,想獲得BOTH(i)和(ii)調試我得到的實際html上的我的XmlSlurper代碼。

任何建議我可能會這樣做?我可以使用parseString(string)方法或parse(reader)方法輕鬆實例化一個帶有相關字符串的XmlSlurper對象,但我似乎無法得到正確的Neko處理步驟。

任何提示?

謝謝! Misha

回答

3

好吧,在這裏。 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)   
} 

謝謝:

從想通了! Misha

+1

你是否感謝你自己? – MeIr 2015-04-07 23:48:25