问题是 - 我不想为每个数据库创建一个结构(如果我描述所有XL的所有结构,则代码太多,我有超过200个DB)。所以我需要可用于其中任何一个的smth
我的一个数据库的数据如下所示:
----------------------------------------------
Id | Path |Value
-----------------------------------------------
1 | SalesPlan/SalesPlanData/Year | 2021
2 | SalesPlan/SalesPlanData/Month | July
3 | SalesPlan/SalesPlanPerson/id | 123
....
1700| SalesPlan/SalesPlarSpot/Spots/City | NY
我尝试了很多方法,但最终,我无法创建一个灵活的映射结构,可以在每个DB行之后正确更新下一个代码允许我存储所有最终标签,但我想在树上向上移动并更新孔结构
type ParentTag struct {
Key string
Value []InnerTag
}
type InnerTag struct {
Key string
Value string
}
func (s *ParentTag) Add(i InnerTag) {
s.Value = append(s.Value, i)
log.Printf("New X=%d", s.Value)
}
func main() {
//xmlMap := Tag{}
parentTagsStorage := []ParentTag{}
house_1 := []string{"mydoc", "Country", "City", "Street", "House", "14"}
house_2 := []string{"mydoc", "Country", "City", "Street", "House", "15"}
street_1 := []string{"mydoc", "Country", "City", "Street", "Maddison"}
city_1 := []string{"mydoc", "Country", "City", "NY"}
allData := make([][]string, 0)
allData = append(allData, house_1)
allData = append(allData, house_2)
allData = append(allData, street_1)
allData = append(allData, city_1)
for _, row := range allData {
// the latest 2 elements present xml-tag and all previous ones are parents tags
// <Street>
// <House>1</House>
// </Street>
innerTag := InnerTag{
Key: row[len(row)-2],
Value: row[len(row)-1],
}
ifParentTagExist := false
for i, pTag := range parentTagsStorage {
if pTag.Key == row[len(row)-3] {
pTag.Add(innerTag)
parentTagsStorage[i] = pTag
ifParentTagExist = true
}
}
}
对于任何想法,我将非常高兴
莫回无
相关分类