Browse Source

Fix XML Marshal to work with gin.H

Chad Russell 11 years ago
parent
commit
3c2da97919
1 changed files with 11 additions and 0 deletions
  1. 11 0
      gin.go

+ 11 - 0
gin.go

@@ -62,6 +62,17 @@ type (
 	}
 	}
 )
 )
 
 
+// Allows type H to be used with xml.Marshal
+func (h H) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+	e.EncodeToken(start)
+	for key, value := range h {
+		elem := xml.StartElement{Name: xml.Name{Local: key}}
+		e.EncodeElement(value, elem)
+	}
+	e.EncodeToken(xml.EndElement{start.Name})
+	return nil
+}
+
 func (a ErrorMsgs) String() string {
 func (a ErrorMsgs) String() string {
 	var buffer bytes.Buffer
 	var buffer bytes.Buffer
 	for i, msg := range a {
 	for i, msg := range a {