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
- 1 回答
- 0 關(guān)注
- 483 瀏覽
添加回答
舉報(bào)