使用go语言解析xml的实现方法(必看篇)

2018-09-21 21:39

阅读:738

  操作系统: CentOS 6.9_x64

  go语言版本: 1.8.3

  问题描述

  现有一个自动报障程序,如果服务出错会自动给指定人发送邮件,配置文件内容如下(default.xml):

  该配置以config为root标签,有xml text部分(比如smtpServer标签)、嵌套xml(receivers标签)、有xml attribute部分(receivers标签的flag)、类似数组的多行配置(user标签), 数据类型有字符串和数字两种类型。

  解决方案

  运行效果:

   [root@local t1]# ls default.xml xmlCnfTest1.go [root@local t1]# go run xmlCnfTest1.go {{ config} smtp.163.com 25 user@163.com 123456 {true [Mike_Zhang@live.com test1@qq.com]}} SmtpServer : smtp.163.com SmtpPort : 25 Sender : user@163.com SenderPasswd : 123456 Receivers.Flag : true Mike_Zhang@live.com test1@qq.com [root@local t1]#

  讨论

  如果需要直接从字符串解析xml配置,可将如下语句中的data替换即可:

   err = xml.Unmarshal(data, &v)

  比如:

   err = xml.Unmarshal([]byte(ConfigContent), &v) // ConfigContent为xml字符串

  好,就这些了,希望对你有帮助。

  以上这篇使用go语言解析xml的实现方法(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。


评论


亲,登录后才可以留言!