gpt4 book ai didi

groovy - 解析 xml 的问题

转载 作者:行者123 更新时间:2023-12-04 20:21:52 24 4
gpt4 key购买 nike

我是 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以及。

这是切换到阅读 errorStream 的示例当您没有获得 200 状态时:

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)

关于groovy - 解析 xml 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5652036/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com