groovy – 解析xml的问题
发布时间:2020-12-14 16:28:11 所属栏目:大数据 来源:网络整理
导读:我是Groovy的新手,我正在尝试解析有效??的休息资源和无效资源. 例如: 这段代码工作正常 – def entity = new XmlSlurper().parse('http://api.twitter.com/1/users/show/slashdot.xml')println entity.name()println entity.screen_name.text() 当我运行它
我是Groovy的新手,我正在尝试解析有效??的休息资源和无效资源.
例如: 这段代码工作正常 – def entity = new XmlSlurper().parse('http://api.twitter.com/1/users/show/slashdot.xml') println entity.name() println entity.screen_name.text() 当我运行它时,我得到输出: user slashdot 但是当我将无效的url传递给xmlSlurper时,就像这样 def entity = new XmlSlurper().parse('http://api.twitter.com/1/users/show/slashdotabc.xml') println entity.name() println entity.screen_name.text( ) 我收到此错误消息: Caught: java.io.FileNotFoundException: http://api.twitter.com/1/users/show/slashdotabc.xml at xmltest.run(xmltest.groovy:1) 虽然url返回一个哈希代码(如下所示),但是我想解析并显示它. <hash> <request>/1/users/show/slashdotabc.xml</request> <error>Not found</error> </hash> 如何解析返回404但有错误信息的URL? 任何帮助将不胜感激. – 解决方法
您想要查看的响应可以在URL连接的errorStream而不是inputStream中找到.幸运的是,给定InputStream,XmlSlurper.parse也可以读取InputStream.
这是一个示例,当您没有获得200状态时切换到读取errorStream: def con = new URL("http://api.twitter.com/1/users/show/slashdotaxxxbc.xml").openConnection() def xml = new XmlSlurper().parse(con.responseCode == 200 ? con.inputStream : con.errorStream) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |