首页 > 后端开发 > Golang > 正文

在 Golang 中从 HTML 响应正文解码 XML 时如何修复'EOF 错误”?

Barbara Streisand
发布: 2024-11-01 20:14:02
原创
131 人浏览过

How to Fix

错误:xml.NewDecoder(resp.Body).Decode 在 Golang 中给出 EOF 错误

尝试从 HTML 响应中解码 XML 时body,使用 xml.NewDecoder(resp.Body).Decode(&v) 时可能会遇到 EOF 错误。当正文内容已被读取一次时,就会发生这种情况。

解决方案

解决此问题的关键在于理解正文内容的本质。在提供的代码中,首先使用ioutil.ReadAll(resp1.Body)读取正文内容并将其存储在字符串变量中。但是,一旦内容被读取,就不能被其他函数再次读取,例如 xml.NewDecoder(resp1.Body).Decode(&v)。这会导致 EOF 错误。

最方便的解决方案是多次使用正文内容。实现此目的的一种方法是通过 xml.Unmarshal 函数,该函数允许您从字节数组中解码 XML。因此,您可以使用以下代码代替 xml.NewDecoder(resp1.Body).Decode(&v):

<code class="go">err = xml.Unmarshal([]byte(conts1), &v)
if err != nil {
    fmt.Printf("error is here: %v", err)
    return
}</code>
登录后复制

这种方法允许您多次读取和解码正文内容,而不会遇到EOF 错误。

以上是在 Golang 中从 HTML 响应正文解码 XML 时如何修复'EOF 错误”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!