您需要实现自己的XMLUnmarshaler
package mainimport ( "encoding/xml" "fmt")type CustomTag struct { Name string Attributes []xml.Attr}func (c *CustomTag) UnmarshalXML(d *xml.Deprer, start xml.StartElement) error { c.Name = start.Name.Local c.Attributes = start.Attr return d.Skip()}func main() { v := &CustomTag{} data:= []byte(`<tag ATTR1="VALUE1" ATTR2="VALUE2" />`) err := xml.Unmarshal(data, &v) if err != nil { panic(err) } fmt.Printf("%+vn", v)}
&{Name:tag Attributes:[{Name:{Space: Local:ATTR1} Value:VALUE1} {Name:{Space: Local:ATTR2} Value:VALUE2}]}
http://play.golang.org/p/9ZrpIT32o_
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)