我正在尝试格式化自定义时间类型 Date,它实现了 Marshaler 接口,并在编写为 XML 时简单地将自身格式化为“2006-01-02”。
type Person struct {
...
DateOfBirth Date `xml:"DOB,attr"`
...
}
type Date time.Time
func (d Date) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
dateString := fmt.Sprintf("\"%v\"", time.Time(d).Format("2006-01-02"))
e.EncodeElement(dateString, start)
return nil
}
我使用这个 SO作为参考,但错误 - &xml.UnsupportedTypeError{Type:(*reflect.rtype)} - 被抛出。
我错过了一些东西,有什么想法吗?
GCT1015
相关分类