things.go 705 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package iot
  2. import (
  3. "wb/lg"
  4. "encoding/xml"
  5. "io/ioutil"
  6. )
  7. const (
  8. TypeGenset = "genset"
  9. TypeWpVehicle ="wpvehicle"
  10. )
  11. type Things struct {
  12. Thing []Thing `xml:"thing"`
  13. }
  14. type Thing struct {
  15. Name string `xml:"Name,attr"`
  16. Status string `xml:"Status,attr"`
  17. }
  18. var ThingsMap = map[string]Thing{}
  19. func InitThings(path string){
  20. lg.Info("InitThings read xml from:", path)
  21. content, err := ioutil.ReadFile(path)
  22. if err != nil {
  23. panic(err)
  24. }
  25. thingsXml := Things{}
  26. err = xml.Unmarshal(content, &thingsXml)
  27. if err != nil {
  28. panic(err)
  29. }
  30. lg.Debug("InitThings.xml", thingsXml)
  31. for _, v := range thingsXml.Thing{
  32. ThingsMap[v.Name] = v
  33. }
  34. lg.Info("InitThings.ThingsMap", ThingsMap)
  35. }