2 回答
TA貢獻1875條經(jīng)驗 獲得超5個贊
type Result struct {
Claims []Claim `xml:"claim"`
}
type Claim struct {
ClaimText []ClaimText `xml:"claim-text"`
}
type ClaimText struct {
Value string `xml:",chardata"`
ClaimText []ClaimText `xml:"claim-text"`
}
https://play.golang.org/p/uueAiwG84LH
如果你想擺脫空白,你可以實現(xiàn)解封接口:
func (t *ClaimText) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
type T ClaimText
if err := d.DecodeElement((*T)(t), &start); err != nil {
return err
}
t.Value = strings.TrimSpace(t.Value)
return nil
}
https://play.golang.org/p/2I1meeBm0pu
TA貢獻1852條經(jīng)驗 獲得超1個贊
看看這個在線工具,它生成以下結(jié)構:
type Claims struct {
XMLName xml.Name `xml:"claims"`
Text string `xml:",chardata"`
Claim []struct {
Text string `xml:",chardata"`
ClaimText struct {
Text string `xml:",chardata"`
ClaimText []struct {
Text string `xml:",chardata"`
ClaimText []string `xml:"claim-text"`
} `xml:"claim-text"`
} `xml:"claim-text"`
} `xml:"claim"`
}
- 2 回答
- 0 關注
- 130 瀏覽
添加回答
舉報
