You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
514 B
26 lines
514 B
2 years ago
|
package xml2json
|
||
|
|
||
|
// Node is a data element on a tree
|
||
|
type Node struct {
|
||
|
Children map[string]Nodes
|
||
|
Data string
|
||
|
}
|
||
|
|
||
|
// Nodes is a list of nodes
|
||
|
type Nodes []*Node
|
||
|
|
||
|
// AddChild appends a node to the list of children
|
||
|
func (n *Node) AddChild(s string, c *Node) {
|
||
|
// Lazy lazy
|
||
|
if n.Children == nil {
|
||
|
n.Children = map[string]Nodes{}
|
||
|
}
|
||
|
|
||
|
n.Children[s] = append(n.Children[s], c)
|
||
|
}
|
||
|
|
||
|
// IsComplex returns whether it is a complex type (has children)
|
||
|
func (n *Node) IsComplex() bool {
|
||
|
return len(n.Children) > 0
|
||
|
}
|