第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

帶有重復(fù)標(biāo)簽的 xml 解析

帶有重復(fù)標(biāo)簽的 xml 解析

Go
慕尼黑8549860 2021-12-13 10:36:16
當(dāng) xml 提要在一個(gè)結(jié)構(gòu)中有多個(gè)標(biāo)簽時(shí),我在解析它時(shí)遇到問題:<feed><entry>::</entry><entry>::</entry></feed>在這種情況下,我通過定義 [] 條目的數(shù)組來解析條目沒有問題,但是其中一個(gè)條目是地理編碼標(biāo)記,其 valuename 和 value 標(biāo)記重復(fù)兩次。在這種情況下如何定義結(jié)構(gòu)。?<geocode><valueName>abc</valueName><value>a1</value><valueName>def</valueName><value>d1</value></geocode>這是我在https://play.golang.org/p/SE8RXTNbYl 上遇到問題的 go 程序
查看完整描述

1 回答

?
翻過高山走不出你

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊

如果您在同一個(gè)父標(biāo)簽下有多個(gè)同名標(biāo)簽,您總是可以使用一個(gè)切片來保存所有出現(xiàn)的標(biāo)簽,無論它們是彼此相鄰枚舉還是在它們之間有其他標(biāo)簽。


完整地說,這是您要解析的 XML 片段:


<cap:geocode>

    <valueName>FIPS6</valueName>

    <value>002090 002290</value>

    <valueName>UGC</valueName>

    <value>AKZ222</value>

</cap:geocode>

所以簡單地改變你的geocode結(jié)構(gòu):


type geocode struct {

    ValueName1 string `xml:"valueName"`

    Value1     string `xml:"value"`

    ValueName2 string `xml:"valueName"`

    Value2     string `xml:"value"`

}

對此:


type geocode struct {

    ValueNames []string `xml:"valueName"`

    Values     []string `xml:"value"`

}

以及打印它們的代碼:


gc := v.Entries[0].Geocode

log.Println(len(gc.Values))

log.Println(gc.ValueNames)

log.Println(gc.Values)

for i := range gc.Values {

    fmt.Printf("ValueName=%s, Value=%s\n", gc.ValueNames[i], gc.Values[i])

}

輸出(在Go Playground上嘗試修改后的源):


2009/11/10 23:00:00 2

2009/11/10 23:00:00 [FIPS6 UGC]

2009/11/10 23:00:00 [002090 002290 AKZ222]

ValueName=FIPS6, Value=002090 002290

ValueName=UGC, Value=AKZ222


查看完整回答
反對 回復(fù) 2021-12-13
  • 1 回答
  • 0 關(guān)注
  • 483 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號