中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

golang中如何解析xml

golang中如何解析xml,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)于2013年創(chuàng)立,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元那坡做網(wǎng)站,已為上家服務(wù),為那坡各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575

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

完整示例代碼:

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

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

網(wǎng)站題目:golang中如何解析xml
當(dāng)前網(wǎng)址:http://www.rwnh.cn/article26/ippdjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、用戶(hù)體驗(yàn)做網(wǎng)站、網(wǎng)站維護(hù)響應(yīng)式網(wǎng)站、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
界首市| 淄博市| 从化市| 苍山县| 安丘市| 宽甸| 象州县| 新安县| 平原县| 绥德县| 玉林市| 宜章县| 连山| 文山县| 蓬莱市| 沂南县| 博野县| 法库县| 衡东县| 光泽县| 龙口市| 河北省| 昌乐县| 唐山市| 铁力市| 民丰县| 仙居县| 静乐县| 和林格尔县| 陕西省| 黄石市| 望都县| 竹山县| 汶川县| 越西县| 娄底市| 嘉兴市| 洪江市| 凌云县| 广州市| 延津县|