-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathxmind.go
36 lines (34 loc) · 1.28 KB
/
xmind.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package xmindgo
import (
"github.com/xiazemin/xmind-go/xmind"
"github.com/xiazemin/xmind-go/xxml"
)
/**
path 保存数据的路径
data := `[{"node_id":"1","topic_content":"main topic"},
{"node_id":"2","topic_content":"topic1","parent_id":"1"},{"node_id":"3","topic_content":"topic2","parent_id":"1"},
{"node_id":"4","topic_content":"topic3","parent_id":"2"},{"node_id":"5","topic_content":"topic4","parent_id":"2"},
{"node_id":"6","topic_content":"topic5","parent_id":"3"},{"node_id":"7","topic_content":"topic6","parent_id":"3"},
{"node_id":"8","topic_content":"topic8","parent_id":"7"}
]`
这里定义 node_id 表示节点id, topic_content 表示主题内容, parent_id 表示父节点id
*/
func SaveSheets(path string, data string) error {
/*
idKey: 以该json tag字段作为主题ID
titleKey: 以该json tag字段作为主题内容
parentKey: 以该json tag字段作为判断父节点的依据
isRootKey: 以该json tag字段,该字段为bool类型,true表示根节点,false表示普通节点
*/
st, err := xmind.LoadCustom(data, "node_id", "topic_content", "parent_id", "false")
if err != nil {
panic(err)
}
// xmlData, err := xml.Marshal(st)
// if err != nil {
// fmt.Println(err)
// }
// fmt.Println(string(xmlData))
xxml.AddProperty(st)
return xxml.SaveSheets(path, st)
}