前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[golang]golang解析xml到结构体的时候无法解析

[golang]golang解析xml到结构体的时候无法解析

作者头像
用户2353021
发布2020-05-12 08:45:07
2.2K0
发布2020-05-12 08:45:07
举报

这是一个很简单的问题,但是,简单的问题,如果由于格式不准确,那么就会变成很复杂的问题。

昨晚上在写完一天的工程之后,打开看自己的VPS,结果,solusvm面板打不开,慨叹一番GFW越来越变态的同时也萌生了自己写个solusvm客户端的想法。但是很悲剧的是,solusvm只支持5个动作status(状态),boot(启动),reboot(重启),shutdown(关机),info(获取信息)。当然如果你是管理员,嗯,我有100个博客!!!

所以自然而然的想到用go来实现以下API。

访问的时候遇到了一个小麻烦,官方文档上写着的是支持get和post,但是当我post的时候发现无法获取数据,原因是key错误,不是有效的key?这TMD有点蛋疼。当换成get就能很好的解决,索性也就不管了,就这样把,毕竟post,get对我来说都无所谓。

但是当获取来的数据是xml的时候,让我一阵的蛋疼,TMD好古老的格式啊!!现在网上除了古老的程序,谁TMD还用xml啊,都用的json好吗?

好在golang 提供了xml包,能够帮你解析xml

最终我获取的xml数据是如下的:

<status>success</status>
<statusmsg>online</statusmsg>
<vmstat>online</vmstat>
<hostname>隐匿之</hostname>
<ipaddress>隐匿之</ipaddress>

我满心以为,解析xml的时候发现TMD 这跟解析json不是一个路数啊,怎么怎么解析都是空结构体?

翻遍了很多的教程,他们都是很轻松的解析了。

我欲哭无泪,终于在翻某个教程的时候,仔细观察了一下他们的xml 字符串,发现他们都有一个根节点。

一狠心,一咬牙,给他们加上个根节点,操,瞬间舒畅了!

在这里要郑重提醒各位小伙伴们,TMD xml是需要有根节点的啊,不论你用什么语言解析,如果出现问题,请先检查数据格式!,不仅仅是xml其他的也一样,毕竟语言不知能,机器不知能!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-07-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档