Golang encoding/xml.Decoder.DecodeElement() function example
package encoding/xml
DecodeElement works like xml.Unmarshal except that it takes a pointer to the start XML element to decode into v. It is useful when a client reads some raw XML tokens itself but also wants to defer to Unmarshal for some elements.
Golang encoding/xml.Decoder.DecodeElement() function usage example
type Rect struct {
Date string `xml:"data-date,attr"`
Num string `xml:"data-count,attr"`
}
func (c *Contribution) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
var i Rect
err := d.DecodeElement(&i, &start) // <- here
if err != nil {
return err
}
c.Date, err = time.Parse(dateFormat, i.Date)
if err != nil {
return err
}
c.Num, err = strconv.Atoi(i.Num)
if err != nil {
return err
}
return nil
}
Reference :
Advertisement
Something interesting
Tutorials
+19.2k Golang : Populate dropdown with html/template example
+9.7k Golang : Populate slice with sequential integers example
+18.6k Golang : Find IP address from string
+11.6k Golang : Fuzzy string search or approximate string matching example
+11.3k Golang : Fix fmt.Scanf() on Windows will scan input twice problem
+41.2k Golang : How to count duplicate items in slice/array?
+6.4k Golang : Break string into a slice of characters example
+14.8k Golang : Normalize unicode strings for comparison purpose
+17.5k Golang : Linked list example
+8.4k Golang : Ackermann function example
+33.8k Golang : convert(cast) bytes to string
+9.4k Golang : Launch Mac OS X Preview (or other OS) application from your program example