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

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

昨晚上在写完一天的工程之后,打开看自己的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其他的也一样,毕竟语言不知能,机器不知能!

未经允许不得转载:RffanLAB|Rffan实验室 » [golang]golang解析xml到结构体的时候无法解析

赞 (2)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址