On Thu, 24 Nov 2016 22:20:44 -0800 (PST) Chris S <chris.sanic...@gmail.com> wrote:
> I am working on trying to parse an xml file with my go code. But I > keep on getting an error saying: > > ./main_v4.go:155: aggInfoXml.IpAddr.Hports undefined (type []Addr has > no field or method Hports) [...] > type AggInfoXml struct { > Percent IntPercent `xml:"taskprogress,omitempty"` > IpAddr []Addr `xml:"host>address,omitempty"` > } > > type IntPercent struct { > Value float64 `xml:"percent,attr,omitempty"` // works > } > > > type Addr struct { > Ip string `xml:"addr,attr"` > Hports []Ports `xml:"host>ports>port,omitempty"` //failing to > be recognized > } [...] > for _, port := range aggInfoXml.IpAddr.Hports { > fmt.Printf("Port: %s\n", port.ports()) > } The IpAddr field of the AggInfoXml struct is a slice. Slices have no fields; but they have elements which should be accessed through the indexing operation, like in aggInfoXml[0] for instance. Hence "aggInfoXml.IpAddr.Hports" has no sense at all. You might want to use for _, addr := range range aggInfoXml.IpAddr { for _, port := range addr.Hports { } } or something like this -- that is, Hports is only defined on instances of type Addr, not on slices of this type. [...] -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.