婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > golang解析xml的方法

golang解析xml的方法

熱門標(biāo)簽:成都呼叫中心外呼系統(tǒng)平臺(tái) 騰訊外呼系統(tǒng)價(jià)格 ?兓? 谷歌便利店地圖標(biāo)注 電銷機(jī)器人可以補(bǔ)救房產(chǎn)中介嗎 電梯外呼訪客系統(tǒng) 百度地圖標(biāo)注搜索關(guān)鍵詞 最短的地圖標(biāo)注 浙江人工智能外呼管理系統(tǒng)

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

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

xml文件點(diǎn)擊此處本站下載。

完整示例代碼:

復(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)
}

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

您可能感興趣的文章:
  • golang使用正則表達(dá)式解析網(wǎng)頁(yè)
  • golang中interface接口的深度解析
  • 利用Golang解析json數(shù)據(jù)的方法示例
  • golang解析網(wǎng)頁(yè)利器goquery的使用方法
  • golang解析域名的步驟全紀(jì)錄

標(biāo)簽:上海 紹興 宜昌 雅安 眉山 盤錦 邢臺(tái) 七臺(tái)河

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《golang解析xml的方法》,本文關(guān)鍵詞  golang,解析,xml,的,方法,golang,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《golang解析xml的方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于golang解析xml的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 嘉义县| 阿荣旗| 台南市| 天峨县| 湘潭市| 分宜县| 丘北县| 兴安盟| 巴中市| 安达市| 三穗县| 孟连| 汉中市| 宁强县| 嫩江县| 大新县| 喀什市| 伊金霍洛旗| 凤翔县| 霍邱县| 屯门区| 莆田市| 巴塘县| 怀仁县| 黄浦区| 定州市| 图们市| 新乡市| 洪湖市| 甘孜| 宁乡县| 阳城县| 吉水县| 建水县| 宝丰县| 进贤县| 南溪县| 玉田县| 灵山县| 田阳县| 桓台县|