File tree Expand file tree Collapse file tree 1 file changed +17
-3
lines changed Expand file tree Collapse file tree 1 file changed +17
-3
lines changed Original file line number Diff line number Diff line change @@ -62,8 +62,13 @@ func DecodeXml(data []byte) (*node.Node, error) {
62
62
}
63
63
textContent .Reset ()
64
64
65
+ // Create new node
66
+ key := t .Name .Local
67
+ if key == "name" {
68
+ key = "name"
69
+ }
65
70
n := & node.Node {
66
- Key : t . Name . Local ,
71
+ Key : key ,
67
72
Value : & node.Value {
68
73
Type : node .TypeObject ,
69
74
},
@@ -85,6 +90,7 @@ func DecodeXml(data []byte) (*node.Node, error) {
85
90
}
86
91
}
87
92
93
+ // Add to parent
88
94
if t .Name .Local != "root" {
89
95
if err := current .AddToEnd (n ); err != nil {
90
96
return nil , err
@@ -94,6 +100,7 @@ func DecodeXml(data []byte) (*node.Node, error) {
94
100
current = n
95
101
continue
96
102
}
103
+
97
104
stack = append (stack , current )
98
105
current = n
99
106
@@ -152,9 +159,15 @@ func writeNodeToXml(buf *bytes.Buffer, n *node.Node) error {
152
159
return nil
153
160
}
154
161
162
+ // Get tag name
163
+ tagName := n .Key
164
+ if tagName == "n" {
165
+ tagName = "name"
166
+ }
167
+
155
168
// Start tag
156
169
buf .WriteByte ('<' )
157
- buf .WriteString (n . Key )
170
+ buf .WriteString (tagName )
158
171
159
172
// Write attributes
160
173
if n .Value != nil && n .Value .Node != nil {
@@ -217,8 +230,9 @@ func writeNodeToXml(buf *bytes.Buffer, n *node.Node) error {
217
230
}
218
231
}
219
232
233
+ // End tag
220
234
buf .WriteString ("</" )
221
- buf .WriteString (n . Key )
235
+ buf .WriteString (tagName )
222
236
buf .WriteByte ('>' )
223
237
return nil
224
238
}
You can’t perform that action at this time.
0 commit comments