package iot import ( "wb/lg" "encoding/xml" "io/ioutil" ) const ( TypeGenset = "genset" TypeWpVehicle ="wpvehicle" ) type Things struct { Thing []Thing `xml:"thing"` } type Thing struct { Name string `xml:"Name,attr"` Status string `xml:"Status,attr"` } var ThingsMap = map[string]Thing{} func InitThings(path string){ lg.Info("InitThings read xml from:", path) content, err := ioutil.ReadFile(path) if err != nil { panic(err) } thingsXml := Things{} err = xml.Unmarshal(content, &thingsXml) if err != nil { panic(err) } lg.Debug("InitThings.xml", thingsXml) for _, v := range thingsXml.Thing{ ThingsMap[v.Name] = v } lg.Info("InitThings.ThingsMap", ThingsMap) }