您可以通过定义符合
xml.Unmarshaler接口的新类型来实现。因此,与其创建
Lines一个
[]string,而不是使用适当的
UnmarshalXML方法声明一个新类型。例如:
type Lines []stringfunc (l *Lines) UnmarshalXML(d *xml.Deprer, start xml.StartElement) error { var content string if err := d.DepreElement(&content, &start); err != nil { return err } *l = strings.Split(content, "n") return nil}您可以在此处看到完整的示例:http :
//play.golang.org/p/3SBu3bOGjR
如果您也想支持这种类型的编码,则可以
MarshalXML以类似的方式实现该方法(构造所需的字符串内容并将其传递给编码器)。



