欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

golang解析xml的方法

 更新時間:2016年07月22日 11:38:50   作者:dotcoo  
這篇文章主要介紹了golang解析xml的方法,結(jié)合實例形式分析了Go語言針對xml文件的讀取與解析的相關(guān)技巧,需要的朋友可以參考下

本文實例講述了golang解析xml的方法。分享給大家供大家參考,具體如下:

golang解析xml真是好用,特別是struct屬性的tag讓程序簡單了許多,其他變成語言需要特殊類型的在golang里直接使用tag舒服

xml文件點擊此處本站下載。

完整示例代碼:

復(fù)制代碼 代碼如下:
package 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)
}

希望本文所述對大家Go語言程序設(shè)計有所幫助。

相關(guān)文章

  • Go語言基礎(chǔ)數(shù)組用法及示例詳解

    Go語言基礎(chǔ)數(shù)組用法及示例詳解

    這篇文章主要為大家介紹了Go語言基礎(chǔ)Go語言數(shù)組的用法及示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2021-11-11
  • golang雪花算法實現(xiàn)64位的ID的示例代碼

    golang雪花算法實現(xiàn)64位的ID的示例代碼

    本文展示了使用Go語言實現(xiàn)雪花算法生成64位ID的示例代碼,雪花算法通過當(dāng)前時間戳、工作節(jié)點ID、數(shù)據(jù)中心ID和序列號生成唯一的64位ID,確保在分布式系統(tǒng)中的唯一性和時間順序性,感興趣的可以了解一下
    2024-09-09
  • Golang二維切片初始化的實現(xiàn)

    Golang二維切片初始化的實現(xiàn)

    這篇文章主要介紹了Golang二維切片初始化的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 淺析go逆向符號恢復(fù)

    淺析go逆向符號恢復(fù)

    這篇文章主要介紹了go逆向符號恢復(fù)的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • 使用Go重試機制代碼更可靠

    使用Go重試機制代碼更可靠

    這篇文章主要為大家介紹了使用Go重試機制的使用,使你的代碼更加可靠,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Go語言的互斥鎖的詳細使用

    Go語言的互斥鎖的詳細使用

    本文主要介紹了Go語言的互斥鎖的詳細使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Golang使用JWT進行認(rèn)證和加密的示例詳解

    Golang使用JWT進行認(rèn)證和加密的示例詳解

    JWT是一個簽名的JSON對象,通常用作Oauth2的Bearer?token,JWT包括三個用.分割的部分。本文將利用JWT進行認(rèn)證和加密,感興趣的可以了解一下
    2023-02-02
  • Golang命令行進行debug調(diào)試操作

    Golang命令行進行debug調(diào)試操作

    今天小編就為大家分享一篇關(guān)于,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • 使用Go和Gorm實現(xiàn)讀取SQLCipher加密數(shù)據(jù)庫

    使用Go和Gorm實現(xiàn)讀取SQLCipher加密數(shù)據(jù)庫

    本文檔主要描述通過Go和Gorm實現(xiàn)生成和讀取SQLCipher加密數(shù)據(jù)庫以及其中踩的一些坑,文章通過代碼示例講解的非常詳細, 對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-06-06
  • 基于go+vue實現(xiàn)的golang每日新聞數(shù)據(jù)瀏覽與檢索平臺(推薦)

    基于go+vue實現(xiàn)的golang每日新聞數(shù)據(jù)瀏覽與檢索平臺(推薦)

    gonews是基于 go+vue 實現(xiàn)的golang每日新聞瀏覽與檢索平臺,本文通過實例代碼給大家講解,介紹的非常詳細,具有參考借鑒價值,需要的朋友參考下吧
    2018-01-01

最新評論