目录
目录结构
xzm.xml文件
<!--自定义标签-->
<mysql>
<configs>
<config>
<url>www.baidu.com</url>
<port>3306</port>
<username>root</username>
<password>1234</password>
</config>
<config>
<url>www.xues.info</url>
<port>3306</port>
<username>root</username>
<password>1234</password>
</config>
</configs>
</mysql>
readMysqlXml.go代码
package main
import (
"encoding/xml"
"fmt"
"io/ioutil"
"os"
)
type Mysql struct {
Configs Configs `xml:"configs"`
}
type Configs struct {
Config []Config `xml:"config"`
}
type Config struct {
Url string `xml:"url"`
Port string `xml:"port"`
Username string `xml:"username"`
Password string `xml:"password"`
}
func main() {
//将文件转成字节数组
charArr, err := ioutil.ReadFile("./readXml/xzm.xml")
if err != nil {
fmt.Fprintln(os.Stderr, err.Error())
os.Exit(0)
}
var mysql Mysql
//反序列化
xml.Unmarshal(charArr, &mysql)
fmt.Println(mysql)
}
效果展示
作者留言
结构体与标签保保持一致,configs标签可以添加多个config。本文仅为了学习和研究Go语言,内容若有不适当或不正确之处,本人虚心接受批评和建议。