golang xml解析
来源:互联网 发布:淘宝宝贝降权查询 编辑:程序博客网 时间:2024/04/29 02:08
golang解析xml真是好用,特别是struct属性的tag让程序简单了许多,其他变成语言需要特殊类型的在golang里直接使用tag舒服
xml文件地址:http://qzonestyle.gtimg.cn/qzone/vas/opensns/res/doc/addresslist.zip
http://wiki.opensns.qq.com/wiki/【QQ登录】get_infopackage main import ( "os" "encoding/xml" // "encoding/json" "io/ioutil" "fmt" ) type Location struct { CountryRegion []CountryRegion } type CountryRegion struct { Name string `xml:",attr"` Code string `xml:",attr"` State []State } type State struct { Name string `xml:",attr"` Code string `xml:",attr"` City []City } type City struct { Name string `xml:",attr"` Code string `xml:",attr"` Region []Region } type Region struct { Name string `xml:",attr"` Code string `xml:",attr"` } func main() { f, err := os.Open("LocList.xml") if err != nil { panic(err) } data, err := ioutil.ReadAll(f) if err != nil { panic(err) } // v := make(map[string]interface{}) var v Location err = xml.Unmarshal(data, &v) if err != nil { panic(err) } // fmt.Printf("%#v/n", v) // table for _, countryRegion := range v.CountryRegion { // fmt.Printf("%s,%s/n", countryRegion.Code, countryRegion.Name) if len(countryRegion.State) == 0 { continue } for _, state := range countryRegion.State { // fmt.Printf("%s,%s,%s/n", countryRegion.Code, state.Code, state.Name) if len(state.City) == 0 { continue } for _, city := range state.City { // fmt.Printf("%s,%s,%s,%s/n", countryRegion.Code, state.Code, city.Code, city.Name) if len(city.Region) == 0 { continue } for _, region := range city.Region { fmt.Printf("%s,%s,%s,%s,%s/n", countryRegion.Code, state.Code, city.Code, region.Code, region.Name) } } } } // // json // js, err := json.Marshal(&v.CountryRegion[0]) // if err != nil { // panic(err) // } // fmt.Printf("%s/n", js) }
本文来自:开源中国博客
感谢作者:____追梦人
查看原文:golang xml解析
查看原文:http://www.zoues.com/2016/10/20/golang-xml%e8%a7%a3%e6%9e%90/
0 0
- golang动态解析xml
- golang的xml解析
- golang xml解析
- golang xml 解析
- golang解析xml示例
- golang xml 递归嵌套解析
- golang解析xml,去掉重复项
- golang解析xml文件头文件模板
- golang解析xml namespace prefix的bug
- [GO]Golang 解析xml 生成json 传到前台
- golang xml解析不确定是否存在的元素
- Golang——解析GBK编码XML文件
- Golang 基础 XML
- Golang xml 使用
- golang 解析cvs文件
- [Golang]堆栈解析
- golang解析json格式
- goLang 复杂json解析
- CCF 201612-3 炉石传说 JAVA实现
- golang 线程与通道
- socket编程--客户端发送文件至服务端
- 【noip 2012】国王游戏 贪心+高精度
- Golang语言——垃圾回收
- golang xml解析
- Golang语言社区--全网游戏定制解决方案
- golang积累-接口指针与结构体指针
- golang 远程传输文件
- Storm入门简介
- 用Golang写一个搜索引擎(0xFF)
- Golang不使用MD5比较文件内容是否一致
- golang-goruntime与channel:高效的channel
- 国内可用免费语料库