| 123456789101112131415161718192021222324252627282930313233343536373839404142 | 
							- package modbus
 
- import (
 
- 	"encoding/xml"
 
- 	"os"
 
- )
 
- // // LoadItems 从 path 中读取并解析 XML 配置
 
- // func LoadItems(path string) (ItemInfo, error) {
 
- // 	name, err := osi.ReadDir(path, DefaultConfigSuffix)
 
- // 	if err != nil {
 
- // 		return nil, err
 
- // 	}
 
- // 	items := make(map[string]ItemInfo)
 
- // 	for i := 0; i < len(name); i++ {
 
- // 		var itemInfo ItemInfo
 
- // 		itemInfo, err = ReadFile(name[i])
 
- // 		if err != nil {
 
- // 			return nil, err
 
- // 		}
 
- // 		items[itemInfo.Name.String()] = itemInfo
 
- // 	}
 
- // 	return items, nil
 
- // }
 
- // ReadFile 解析 name 至 ItemInfo
 
- func ReadFile(name string) (ItemInfo, error) {
 
- 	b, err := os.ReadFile(name)
 
- 	if err != nil {
 
- 		return ItemInfo{}, err
 
- 	}
 
- 	return ReadFrom(b)
 
- }
 
- func ReadFrom(b []byte) (ItemInfo, error) {
 
- 	var itemInfo ItemInfo
 
- 	if err := xml.Unmarshal(b, &itemInfo); err != nil {
 
- 		return ItemInfo{}, err
 
- 	}
 
- 	itemInfo.Init()
 
- 	return itemInfo, nil
 
- }
 
 
  |