文档章节

golang 解析xml

梁二狗
 梁二狗
发布于 2017/04/09 00:01
字数 158
阅读 47
收藏 0

好记性不如乱笔头,在这里记录一下 golang代码

package main
import (
	"encoding/xml"
	"fmt"
	"io/ioutil"
)
type Mysql struct {
	Host string `xml:"host"`
	Database string `xml:"database"`
	User string `xml:"user"`
	Pwd string `xml:"pwd"`
}
type Redis struct {
	Host string `xml:"host"`
	Port int32 `xml:"port"`
}
type Config struct {
	Db Mysql `xml:"mysql"`
	Cache Redis `xml:"redis"`
	Interface       string `xml:"interface"`
	User   string `xml:"user"`
	Key        string `xml:"key"`
}
func main()  {

	content, ferr := ioutil.ReadFile("/home/gowork/src/demo/x.xml")
	if ferr != nil {
		//handler
	}
	r := Config{}
	err := xml.Unmarshal(content, &r)
	if err != nil {
		//handler
	}
	fmt.Println(r)
	fmt.Println(r.Db.Database,r.Interface,r.Cache.Host)
}

xml代码

<?xml version='1.0' encoding='UTF-8'?>
<configs>
    <mysql>
        <host>127.0.0.1:3306</host>
        <database>zpt_cat</database>
        <user>zpt_user</user>
        <pwd>dfadkdfk</pwd>
    </mysql>
    <redis>
        <host>127.0.0.1</host>
        <port>3333</port>
    </redis>
    <interface>https://www.xxx.com/interface.php</interface>
    <user>150528</user>
    <key>518334</key>
</configs>

© 著作权归作者所有

共有 人打赏支持
下一篇: php opcache配置
梁二狗
粉丝 0
博文 14
码字总数 547
作品 0
成都
程序员
私信 提问
Golang 对接宝付、通联、富友金账户...填坑记

一、宝付私钥加密,公钥解密   由于对RSA加密解密原理不是很熟悉,宝付也没有Golang的Demo提供。Go语言库里一般都是私钥解密、公钥加密,或者私钥签名、公钥验签。宝付需要反过来,这里也到...

KendoCross
2018/08/05
0
0
Golang 学习笔记(09)—— json和xml解析

本文为转载,原文:Golang 学习笔记(09)—— json和xml解析 Golang xml package 函数 Marshal Marshal函数返回v的XML编码。 Marshal处理数组或者切片时会序列化每一个元素。Marshal处理指针...

ChainZhang
2018/01/03
0
0
Golang学习笔记目录

Golang 介绍 Go语言是谷歌2009发布的第二款开源编程语言。 Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。...

ChainZhang
2017/12/26
0
0
文档数据提取 Golang 包--XQuery

XQuery 是一个 Golang 包,允许从 HTML 或 XML 文档中使用 XPath 提取文档数据。 安装 go get -u github.com/antchfx/xquery HTML 查询 这个包使用 Golang 官方包来解析 html 文件:html。 ...

匿名
2016/12/27
183
0
Google Protocol Buffer 和 gRPC 简介

更多文章请访问独立博客 https://huangwenwei.com Protocol Buffer Protocol buffer 是谷歌推出的一种轻便高效的结构化数据存储格式,把结构化的数据序列化。常用以存储数据、作为网络通信的...

hww_面条酱
2017/10/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周五乱弹 —— 姑娘馋的口水都留下来了。

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @且无需多言 :分享Fall Out Boy的单曲《Disloyal Order Of Water Buffaloes》 《Disloyal Order Of Water Buffaloes》- Fall Out Boy 手机党...

小小编辑
今天
56
6
vue 对对象的属性进行修改时,不能渲染页面 vue.$set()

我在vue里的方法里给一个对象添加某个属性时,我console.log出来的是已经更改的object ,但是页面始终没有变化 原因如下: **受现代 JavaScript 的限制 (而且 Object.observe 也已经被废弃),...

Js_Mei
今天
2
0
开始看《Java学习笔记》

虽然书买了很久,但一直没看。这其中也写过一些Java程序,但都是基于IDE的帮助和对C#的理解来写的,感觉不踏实。 林信良的书写得蛮好的,能够帮助打好基础,看得出作者是比较用心的。 第1章概...

max佩恩
昨天
12
0
Redux 三大原则

1.单一数据源 在传统的MVC架构中,我们可以根据需要创建无数个Model,而Model之间可以互相监听、触发事件甚至循环或嵌套触发事件,这些在Redux中都是不被允许的。 因为在Redux的思想里,一个...

wenxingjun
昨天
9
0
跟我学Spring Cloud(Finchley版)-12-微服务容错三板斧

至此,我们已实现服务发现、负载均衡,同时,使用Feign也实现了良好的远程调用——我们的代码是可读、可维护的。理论上,我们现在已经能构建一个不错的分布式应用了,但微服务之间是通过网络...

周立_ITMuch
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部